作用:返回两个日期之间的时间差
语法:DATEDIFF(datepart,startdate,enddate)
datepart 格式:
datepart | 缩写 | 意义 |
year | yy | yyyy | 年 |
quarter | qq | q | 季度 |
month | mm | m | 月 |
week | ww | w | 周 |
day | dd | d | 日 |
hour | hh | 小时 |
minute | mi | n | 分钟 |
second | ss | s | 秒 |
millisecond | ms | 毫秒 |
startdate:开始日期 格式为合法的日期表达式
enddate:结束日期 格式为合法的日期表达式
例子:
1、下面示例的语句返回 9
select DATEDIFF(year,'2010-12-31','2019-01-01')
2、下面示例语句返回 12
当使用 month 作为datepart 部分时,DATEDIFF 返回两个日期(包括第二个日期但不包括第一个日期)之间出现的月的第一天的数目
select DATEDIFF(Month,'2018-01-01','2019-01-01')
3、下面示例语句返回 5
当使用 week 作为datepart 部分时,DATEDIFF 返回两个日期(包括第二个日期但不包括第一个日期)之间星期日的数目
select DATEDIFF(week,'2018-12-01','2018-12-31')
4、下面示例语句返回 30
当使用 day 作为datepart 部分时,DATEDIFF 返回两个指定的日期包括第二个日期但不包括第一个日期)之间的午夜数
select DATEDIFF(day,'2018-12-01','2018-12-31')
DATEDIFF() 函数在实际中最常用的就是用在 Where 条件中进行时间过滤