-- 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');

image.png
网友评论