-- startdate 和 enddate 参数必须是合法的日期表达式
DATEDIFF(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 |
SELECT DATEDIFF(DAY,'2017-06-02','2018-06-02');
SELECT DATEDIFF(D,'2017-06-02','2018-06-02'); -- 可以使用缩写
SELECT DATEDIFF(DAY,'2018-06-02','2017-06-02'); -- 如果第一个时间参数比第二个大,会返回负数
SELECT DATEDIFF(MONTH,'2018-06-02','2017-06-03'); -- 计算月份的时候会忽略天数
SELECT DATEDIFF(MINUTE,'2018-06-02 19:11:23','2018-06-02 19:18:20');