Sql 日期时间函数

语法 意义
DATEADD(datepart,num,date) 计算日期时间的加、减法
DATEDIFF(datepart,date1,date2) 计算日期差距,(date2 大时为正值)
DATENAME(datepart,date) 返回指定部分的字符串表示
DATEPART(datepart,date) 返回指定部分,整数
DAY(date) 日 1-31

GETDATE()

当前日期时间
GETUTCDATE() 返回国际标准时间(-8小时)
MONTH(date) 月份 1-12
YEAR(date) 年份

时间计算参数格式, 逗号后面的部分用于增/减时间的效果貌似相同

注:datepart 值不是字符串。

datepart type 值 取值范围
yy 年份 YEAR 1753-9999
qq, q 季度 QUARTER 1-4
mm, m 月份 MONTH 1-12
dy 计数天 DAY 1-366
dd, d 日数 DAY 1-31
weekday 周几 1-7(日,一,二,...六)
wk 计数周 WEEK 0-51
hh 小时 HOUR 0-23
mi 分钟 MINUTE 0-59
ss 秒 SECOND 0-59
ms 毫秒 MILLISECOND 0-999

示例:日期计算技巧

1、计算年(yy)、季(qq)、月(mm)、周(wk)的第一天的日期

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

示例:日期取整

SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)