‘壹’ 如何用sql计算access2007数据表两个日期差
access与SqlServer 之时间与日期及其它SQL语句比较
1、Datediff:
1.1算出日期差:
1.access: datediff('d',fixdate,getdate())
2.sqlserver: datediff(day,fixdate,getdate())
ACCESS实例: select * from table where data=datediff('d',fixdate,getdate())
sqlserver实例: select * from table where data=datediff(day,fixdate,getdate())
1.2算出时间差:
1.access: datediff('h',fixdate,getdate())
2.sqlserver: datediff(Hour,'2004-12-10',getdate())
ACCESS实例: select DATEDIFF('h',HMD,getdate())
sqlserver实例: select datediff(Hour,'2004-12-10',getdate())
1.3算出月份差:
1.access: datediff('m',fixdate,getdate())
2.sqlserver: datediff(Month,'2004-12-10',getdate())
ACCESS实例: select DATEDIFF('m',HMD,getdate())
sqlserver实例: select datediff(Month,'2004-12-10',getdate())
‘贰’ SQLserver如何计算当前日期和表中某日期相差的天数
DATEDIFF(day,CONVERT(varchar,GETDATE(),23),date)
‘叁’ SqlServer数据库中,日期的模糊查询
1、打开SQL Server Management Studio管理工具,点击【新建查询】,新建一个SQL书写窗口,用于演示SQL的执行。
‘肆’ 利用SQL语句如何获得两个日期之间相差的天数
用sysdate假设结束日期字段是end_date
添加这个判断条件:
where to_char("end_date",'YYYY') = to_char(sysdate,'YYYY') 判断年相同
and to_char("end_date",'MM') = to_char(sysdate,'MM') 判断月相同
and to_char("end_date",'dd') - to_char(sysdate,'dd') = 15 判断日相同
或者:
where to_char("end_date",'YYYY-MM-DD') - to_char(sysdate,'YYYY-MM-DD')=15
(4)sqlserver日期差扩展阅读:
注意事项
DATEDIFF返回跨两个指定日期的日期和时间边界数。
语法:DATEDIFF ( datepart , startdate , enddate )
参数:datepart
是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
startdate是返回datetime或smalldatetime值或日期格式字符串的表达式。 因为smalldatetime只精确到分钟,所以当用smalldatetime值时,秒和毫秒总是 0。
如果只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。
enddate是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
返回类型:integer
注释:startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。
‘伍’ SqlServer数据库中,日期的模糊查询
1、打开SQL Server Management Studio管理工具,点击【新建查询】,新建一个SQL书写窗口,用于演示SQL的执行。
‘陆’ sqlserver日期计算的问题
dateadd是一个用来相加的一个函数,dd指的是日期里面的日,DATEADD(dd,
DATEDIFF(dd,0,getdate()),
0)
意思是将DATEDIFF(dd,0,getdate())函数返回的日期增加0天,如果将0改成1,DATEADD(dd,
DATEDIFF(dd,0,getdate()),
1)那就是加一天
DATEDIFF函数返回的是两个日期之间的间隔,dd就是间隔多少天。
‘柒’ sqlserver日期计算的问题
DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)的意思是返回当前日期
dd为日期分量代表day,还有其它的如month,year等
dateadd 为计算某个日期之前或之后多少个日期分量的时间,如计算今天之前10天的时间为
dateadd(dd,'2012-10-26',-10),之后10天日期为dateadd(dd,'2012-10-26',10)
datediff 计算两个日期之前日期分量的个数,如计算两个日期之间的天数:datediff(dd,'2012-9-10','2012-9-11')
此处的0代表'1900-1-1'
整个表达式相当于DATEADD(dd, DATEDIFF(dd,'1900-1-1',getdate()), '1900-1-1')
即先计算当臆系统时间与1900-1-1之间的天数,再计算1900-1-1加上这个天数的日期。
‘捌’ sqlserver 比较两个日期大小是怎么把日期类型或者字符串转换成int的
sqlserver中的日期时间的比较,可以直接比较的,也就是说,两个类型一样的时间是可以直接比较的,
你说把时期转为int类型,确切的说不是int类型,而是long类型。
这个转换不是简单的把中间的非数字去掉,而是与1900-01-01
00:00:00这个时间的时间差的毫秒数。
‘玖’ 在SQLserver中如何获得两个日期相减的天数
declare@time1datetime,@time2datetime
set@time1='2016-11-24'
set@time2='2015-11-11'
selectDATEDIFF(day,@time1,@time2)as[day],DATEDIFF(week,@time1,@time2)as[week],datediff(year,@time1,@time2)as[year]
datediff函数,第一个是时间单位,例如按天算差距,或者按周算,
后面两个就是要比较的时间参数。
‘拾’ sqlserver日期计算的问题
首先说明你的DATEDIFF(dd,0,getdate()),这个表示获取当前日期与0之间的天数差,dd表示是用来表示天.然后DATEADD(dd, DATEDIFF(dd,0,getdate()), 0),这个是用来表示0加上你刚才获取的天数差后的日期~
具体的说明如下,你可以自己了解~
------------------------------------------------------------------
DateAdd函数 返回
返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔。
语法
DateAdd(interval, number, date)
DateAdd 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,是所要加上去的时间间隔。
number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date 必要。Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。
设置
interval 参数具有以下设定值:
设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
说明
可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用 DateAdd 来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。
为了对 date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”) 或“一周的日数” (”w”)。
DateAdd 函数将不返回有效日期。在以下实例中将 1 月31 日加上一个月:
DateAdd(m, 1, 31-Jan-95)
上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年 2 月 29 日。
如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。
如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。
注意 DateAdd 返回值的格式由 Control Panel设置决定,而不是由传递到date 参数的格式决定。
=========================================
DateDiff: SQL server函数
返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
设置
interval 参数的设定值如下:
设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
----------------------------------------------------------
以上部分来源于网络