sql两个日期之间怎么用函数表示(sql怎么计算两个日期之间的天数)
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
DATEDIFF
返回跨两个指定日期的日期和时间边界数。
语法
DATEDIFF(datepart,startdate,enddate)
参数
datepart
是规定了应在日期的哪一部分计算差额的参数。下表列出了Microsoft?0?3SQLServer?6?4识别的日期部分和缩写。
日期部分缩写
yearyy,yyyy
quarterqq,q
Monthmm,m
dayofyeardy,y
Daydd,d
Weekwk,ww
Hourhh
minutemi,n
secondss,s
millisecondms
startdate
是计算的开始日期。startdate是返回datetime或值或日期格式字符串的表达式。
因为只精确到分钟,所以当用值时,秒和毫秒总是0。
如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果twodigityearcutoff为2049(默认),则49被解释为2049,2050被解释为1950。为避免模糊,请使用四位数的年份。
有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见datetime和。
enddate
是计算的终止日期。enddate是返回datetime或值或日期格式字符串的表达式。
返回类型
integer
注释
startdate是从enddate减去。如果startdate比enddate晚,返回负值。
当结果超出整数值范围,DATEDIFF产生错误。对于毫秒,最大数是24天20小时31分钟零23.647秒。对于秒,最大数是68年。
计算跨分钟、秒和毫秒这些边界的方法,使得DATEDIFF给出的结果在全部数据类型中是一致的。结果是带正负号的整数值,其等于跨第一个和第二个日期间的datepart边界数。例如,在1月4日(星期日)和1月11日(星期日)之间的星期数是1。
示例
此示例确定在pubs数据库中标题发布日期和当前日期间的天数。
USEpubs
GO
SELECTDATEDIFF(day,pubdate,getdate())ASno_of_days
FROMtitles
GO