如何对选择的月份加3个月,并且满12个的就往后进一年。
如:
select name, date from employees
我要对这个date进行处理,应该怎样处理?
[解决办法]
select name, dateadd(mm,3,date) as date from employees
[解决办法]
dateadd(month,3,[date])
[解决办法]
用DataAdd()函数。
select dateadd(mm, 3, getdate())
[解决办法]
法
DATEADD ( datepart , number, date )
引
datepart
是指定日期中那一部份要回新值的。下表列出了 Microsoft® SQL Server™ 所能辨的日期部份及。
Datepart
---------------
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond 微秒
number
datepart 的增值。 如果您指定非整的值,截值的小部份。 例如,如果您指定 datepart day 且 number 1.75, date 增加 1。
date
是一回 datetime 或 smalldatetime 值或日期格式字元字串的算式。如需於指定日期的, datetime smalldatetime。
如果只指定年份的後面位字,那小於或等於 two digit year cutoff 值最後位字的值,截止年份位於相同世。大於此值最後位字的值,其世截止年份的前一世。例如,若 two digit year cutoff 2049 (值),那 49 被 2049,2050 被 1950。了避免生混淆,使用四位字的年份。
回型
回 datetime,但若 date 引是 smalldatetime, smalldatetime。
[解决办法]
DATEADD
在向指定日期加上一段时间的基础上,返回新的 datetime 值。
语法
DATEADD ( datepart , number, date )
参数
[解决办法]
select getdate() as curr_date,dateadd(mm,3,getdate()) as future_date
-------------------------------------------------
/*
curr_date future_date
----------------------------- -------------------------
2007-02-07 14:30:56.410 2007-05-07 14:30:56.410
*/
[解决办法]
up