--dateadd(日期部分,数字,日期)
--返回给指定日期加上一个时间间隔后的新的日期值。
--数字:用于与指定的日期部分相加的值。如果指定了非整数值,
--则将舍弃该值的小数部分,舍弃时不遵循四舍五入。
--日期:指定的原日期
--在此函数中day,dw,dy,dd 效果一样都表示天
--mm,MONTH表示月份,year,yy表示年份,qq表示季
select DATEADD(year, 2, '2018-08-03')--2020-08-03 00:00:00.000
select DATEADD(yy, 2, '2018-08-03')--2020-08-03 00:00:00.000
select DATEADD(MONTH, 2, '2018-08-03')--2018-10-03 00:00:00.000
select DATEADD(mm, 2, '2018-08-03')--2018-10-03 00:00:00.000
select DATEADD(DAY, 2, '2018-08-03')--2018-08-05 00:00:00.000
select DATEADD(dw, 2, '2018-08-03')--2018-08-05 00:00:00.000
select DATEADD(dy, 2, '2018-08-03')--2018-08-05 00:00:00.000
select DATEADD(dd, 2, '2018-08-03')--2018-08-05 00:00:00.000
select DATEADD(hh, 2, '2018-08-03')--2018-08-03 02:00:00.000
select DATEADD(qq, 2, '2018-08-03')--2019-02-03 00:00:00.000
--datediff(日期部分,开始日期,结束日期)
--返回两个指定日期的指定日期部分的差的整数值。
--在计算时由结束日期减去开始日期
select datediff(yy,'2008-08-03','2018-08-03')--10
select datediff(year,'2008-08-03','2018-08-03')--10
select datediff(mm,'2008-08-03','2018-08-03')--120
select datediff(MONTH,'2008-08-03','2018-08-03')--120
select datediff(dd,'2008-08-03','2018-08-03')--3652
select datediff(dw,'2008-08-03','2018-08-03')--3652
select datediff(dy,'2008-08-03','2018-08-03')--3652
select datediff(day,'2008-08-03','2018-08-03')--3652
--使用datediff函数快速的计算岁数
select datediff(yy,'1994-10-20',GETDATE())--24
select datediff(mm,'1994-10-20',GETDATE())--286
select datediff(dd,'1994-10-20',GETDATE())--8688
--datename(日期部分,日期)
--返回表示指定日期的指定日期部分的字符串。
--dw 表示一星期中星期几,wk 表示一年中的第几个星期
--dy 表示一年中的第几天
select datename(YEAR,'2018-08-03')--2018
select datename(yy,'2018-08-03')--2018
select datename(mm,'2018-08-03')--08
select datename(MONTH,'2018-08-03')--08
select datename(dd,'2018-08-03')--3
select datename(dw,'2018-08-03')--星期五
select datename(dy,'2018-08-03')--215,一年第215天
select datename(day,'2018-08-03')--3
--datepart(日期部分,日期)
--返回表示指定日期的指定日期部分的整数。
--wk 表示一年中的第几个星期
--dy 表示一年中的第几天,
--dw 表示一星期中星期几,返回整数默认 1 为星期天
select DATEPART(YEAR, '2018-08-03')--2018
select DATEPART(yy, '2018-08-03')--2018
select DATEPART(mm, '2018-08-03')--8
select DATEPART(MONTH, '2018-08-03')--8
select DATEPART(dd, '2018-08-03')--3
select DATEPART(dw, '2018-08-03')--6,一个星期的第6天
select DATEPART(dy, '2018-08-03')--215,一年第215天
select DATEPART(DAY, '2018-08-03')--3
select DATEPART(wk, '2018-08-03')--31,一年中的第31个星期
--getdate()无参数
select getdate();--2018-08-03 14:50:52.560
--day(日期)<=>datepart(dd,日期)
--返回一个整数,表示指定日期的天的部分。
select day('2018-08-03')--3
--month(日期)<=>datepart(mm,日期)
--返回一个整数,表示指定日期的月的部分。
select MONTH('2018-08-03')--8
--year(日期)<=>datepart(yy,日期)
--返回一个整数,表示指定日期的年的部分。
select year('2018-08-03')--2018
--getutcdate()无参数
--返回表示当前的UTC(世界标准时间)时间。即格林尼治时间
--(GMT)
select GETUTCDATE();--2018-08-03 07:08:21.577
注:数据库的时间日期常见简写
含义
缩写year年yy, yyyy
quarter季qq, q
month月mm, m
dayofyear天(请看函数中的说明)dy, y
day天(请看函数中的说明)dd, d
week星期wk, ww
weekday天(请看函数中的说明)dw, w
hour小时hh
minute分钟mi, n
second秒ss, s
millisecond毫秒ms