SqlServer教程

SQL Server中的Datediff函数

本文主要是介绍SQL Server中的Datediff函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、描述:返回两个日期之间的时间间隔, 用于判断在两个日期之间存在的指定时间间隔的数目。

2、语法:DateDiff(interval, startdate, enddate)

3、各个属性描述如下:

a、interval:必选。字符串表达式,表示用于计算 startdate 和 enddate 之间的时间间隔。有关数值,可以参考“interval参数表”。

b、startdate:计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。 因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。如果只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。

c、enddate:计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。

d、返回类型:integer,两个日期之间的差值

4、说明:

a、要计算 startdate 和 enddate 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 startdate 是星期一,则 DateDiff 计算到 enddate 之前星期一的数目。此结果包含 enddate 而不包含 startdate。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 startdate 和 enddate 之间星期日的数目。如果 enddate 是星期日,DateDiff 将计算 enddate,但即使 startdate 是星期日,也不会计算 startdate。

b、startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。

c、当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。

5、interval参数表:

日期部分 缩写 中文描述
year yy,yyyy
quarter qq,q 季度
 dayofyear  dy,y  一年的日数(按年来计算有多少天)
 month  mm,m  月
 day  dd,d  日
 week  wk,ww  周
   dw, w  一周的日数(按周来计算有多少天)
 hour  hh  小时
 minute  mi,n  分
 second  ss,s  秒
 millisecond  ms  毫秒
这篇关于SQL Server中的Datediff函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!