DATEDIFF() 函数—— 计算时间差

作用:返回两个日期之间的时间差

语法:DATEDIFF(datepart,startdate,enddate)

datepart 格式:

datepart缩写意义
yearyy  | yyyy
quarter qq  |  q季度
monthmm  |  m
weekww  |  w
daydd  |  d
hourhh小时
minute mi  |  n分钟
second ss  |  s
millisecondms毫秒

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 条件中进行时间过滤

参考文档:SQL Server DATEDIFF() 函数