sqlserver一些常用的日期函数
1、day(date_expression)
返回date_expression中的日期值
2、month(date_expression)
返回date_expression中的月份值
3、year(date_expression)
返回date_expression中的年份值
4、DATEADD()
DATEADD (, , )
返回指定日期date 加上指定的额外日期间隔number 产生的新日期。参数“datepart” 取值如下:
5、DATEDIFF()
DATEDIFF (, , ) 返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。
6、DATENAME()
DATENAME (, ) 以字符串的形式返回日期的指定部分此部分。由datepart 来指定。
7、DATEPART()
DATEPART ( datepart , date )
以整数值的形式返回日期的指定部分。此部分由datepart 来指定。
DATEPART (dd, date) 等同于DAY (date)
DATEPART (mm, date) 等同于MONTH (date)
DATEPART (yy, date) 等同于YEAR (date)
8、GETDATE() 以DATETIME 的缺省格式返回系统当前的日期和时间
试验如下:
1 SELECT GETDATE() AS CurrentDateTime --取当前时间 2017-09-01 11:23:16.230 2 3 --取年月日的值 一位数 4 select year(GETDATE()) as testTime --取当前时间的年值 2017 5 select month(GETDATE()) as testTime --取当前时间的月值 9 6 select day(GETDATE()) as testTime --取当前时间的日值 1 7 8 --取年月日的值 两位数 9 select datename(yy,GETDATE()) --取当前时间的年值 2017 10 select datename(mm,GETDATE()) --取当前时间的月值 09 11 select datename(dd,GETDATE()) --取当前时间的天值 1 12 13 --取当前时间的任意控制时间 前一年 后一月 前一日 14 select dateadd(yy,-1,GETDATE()) ----取时间字段(年份被减1了) 2016-09-01 11:25:41.527 15 select dateadd(mm,6,GETDATE()) ----取时间字段(月份被加1了) 2017-10-01 11:25:41.527 16 select dateadd(dd,-1,GETDATE()) ----取时间字段(日被减1了) 2017-08-31 11:25:41.527 17 18 --取两个日期的时间差 第三个参数减第二个参数 19 declare @beginTime datetime; 20 set @beginTime = '2018-09-05'; 21 select @beginTime --输出 2018-09-05 00:00:00.000 22 23 select DATEDIFF(yy,@beginTime,getdate()) --与当前日期的年份差 -1 24 select DATEDIFF(mm,@beginTime,getdate()) --与当前日期的月份差 -12 25 select DATEDIFF(dd,@beginTime,getdate()) --与当前日期的日数差 -369 26 select DATEDIFF(mi,@beginTime,getdate()) --与当前日期的分钟数差 -530636 27 28 select datepart(yy,@beginTime) --年 2018 29 select datepart(mm,@beginTime) --月 9 30 select datepart(dd,@beginTime) --日 5 31 select datepart(hh,@beginTime) --时 0 32 select datepart(mi,@beginTime) --分 0 33 select datepart(ss,@beginTime) --分 0 34 select datepart(ms,@beginTime) --秒 0 35 select datepart(qq,@beginTime) --季度 3 36 select datepart(dy,@beginTime) --那年的第几天 248 37 select datepart(wk,@beginTime) --那年的第几个星期 36 38 select datepart(dw,@beginTime) --那年的那个星期的第几个工作日(工作日从星期日开算) 4