二十五岁时我们都一样愚蠢、多愁善感,喜欢故弄玄虚,可如果不那样的话,五十岁时也就不会如此明智。
标题:SQL Server DATEDIFF() 函数
SQL Server
DATEDIFF()
函数返回两个日期之间的天数DATEDIFF(datepart,startdate,enddate)如果
endate
小于startdate
那么返回一个负数,否则返回正数或者 0需要注意的是,返回的天数不包含 startdate 但包含 enddate
参数说明
参数 说明 datepart 返回结果中指定格式出现的次数 startdate 要比较的开始时间,必须是合法的日期表达式 enddate 要比较的结束时间,必须是合法的日期表达式 datepart 参数可以是下列的值
值 说明 yy, yyyy 年 qq, q 季度 mm, m 月 dy, y 年中的日 dd, d 日 wk, ww 周 dw, w 星期 hh 小时 mi, n 分钟 ss, s 秒 ms 毫秒 mcs 微妙 ns 纳秒
datepart
要怎么理解?
当
datepart=day
时,DATEDIFF
返回两个指定的时间之间(包括第二个日期但不包括第一个日期)的午夜数当
datepart=month
时,DATEDIFF
返回两个日期之间(包括第二个日期但不包括第一个日期)出现的月的第一天的数目当
datepart=week
时,DATEDIFF
返回两个日期(包括第二个日期但不包括第一个日期)之间星期日的数目范例
假设我们要返回
2017-06-05
到2017-08-05
之间的天数,可以使用下面的 SQL 语句SELECT DATEDIFF(day, '2007-06-05','2007-08-05') AS days;运行结果如下
days 61 如果我们把开始时间和结束时间交换一下,那么返回的将会是负值
SELECT DATEDIFF(day, '2007-08-05','2007-06-05') AS days;运行结果如下
days -61