SQL Server DATEDIFF() 函数
DATEDIFF() 函数返回两个日期之间的天数。
DATEDIFF(datepart,startdate,enddate):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 dateadd(mm,DATEDIFF(mm,0,getdate()),0);
原理分析:
1. 数字0代表 1900-01-01 00:00:00.000
select cast(0 as datetime)
1900-01-01 00:00:00.000
2.DATEDIFF(mm,0,getdate()) :得到与1900-01-01相关多少个月
3.DATEADD(mm, M, 0) :M即上面得到相差的月份,0代表1900-01-01 ,加上相关的月分就是这个月的第一天

浙公网安备 33010602011771号