日期增减函数

日期增减函数可以对日期指定部分的值进行增减,并返回处理后的日期值。
具体语法:DATEADD(deapart,number,date)

depart:是规定应该向日期的哪一部分返回新值的参数

                                   DATEADDDATEDIFF支持的日期部分、缩写及含义

日期部分

缩写

含义

Year

yy

年份

Quarter

qq

季度

Month

mm

月份

Dayofyear

dy

Day

dd

Week

wk

星期

Hour

Hh

小时

Minute

mi

分钟

Second

ss

Millisecond

Ms

毫秒
















number:是用来增加depart的值。正数表示增加,负数表示减少。如果指定的是非整数值,则忽略此值的小数部分,不做四舍无入。如:DATEADDdd1.7date)表示date增加1天。

 

date:是返回datetimesmalldatetime值或日期格式字符串的表达式


注意事项:当
datedatetimedepartMs时,返回值将根据日期增减函数的结果调整为3/%秒;当datesmalldatetimedepartssMs时,返回值将根据日期增减函数的结果。date允许直接与number进行增减计算,即:DATEADD(dd,number,date)等价于date+number。

示例
select getdate() as SystemTime --系统时间:getdate()返回的是datetime日期类型,其精确度为3%秒。
select dateadd(yy,1,getdate()) as SystemTime_yy    --年份+1
select dateadd(yy,0.7,getdate()) as SystemTime_yy  --年份+0(忽略小数部分)
select dateadd(yy,1.7,getdate()) as SystemTime_yy  --年份+1(忽略小数部分)
select dateadd(mm,1,getdate()) as SystemTime_mm    --月份+1
select dateadd(dd,1,getdate()) as SystemTime_dd    --天+1
select dateadd(qq,1,getdate()) as SystemTime_qq    --季度+1
select dateadd(Hh,1,getdate()) as SystemTime_Hh    --小时+1
select dateadd(Mi,1,getdate()) as SystemTime_Mi    --分钟+1
select dateadd(ss,1,getdate()) as SystemTime_ss    --秒+1
select dateadd(Ms,1,getdate()) as SystemTime_Ms    --毫秒+1

select datepart(wk,getdate()) as 星期 --当前系统时间是当年的第几个星期

declare @week1 int,@week2 int
set @week1=datepart(wk,getdate())
set @week2=datepart(wk,getdate())+1
select @week1 as 星期1,@week2 as 星期2

原文地址:https://www.cnblogs.com/perfect/p/509381.html