在向指定日期加上一段时间的基础上,返回新的 datetime 值。
DATEADD ( datepart , number, date )
datepart
是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
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 | ms |
number
是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。
date
是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。
如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
返回 datetime,但如果 date 参数是 smalldatetime,返回 smalldatetime。
此示例打印出 pubs 数据库中标题的时间结构的列表。此时间结构表示当前发布日期加上 21 天。
USE pubs
GO
SELECT DATEADD(day, 21, pubdate) AS timeframe
FROM titles
GO
下面是结果集:
timeframe --------------------------- Jul 3 1991 12:00AM Jun 30 1991 12:00AM Jul 21 1991 12:00AM Jul 13 1991 12:00AM Jun 30 1991 12:00AM Jul 9 1991 12:00AM Mar 14 1997 5:09PM Jul 21 1991 12:00AM Jul 3 1994 12:00AM Mar 14 1997 5:09PM Nov 11 1991 12:00AM Jul 6 1991 12:00AM Oct 26 1991 12:00AM Jul 3 1991 12:00AM Jul 3 1991 12:00AM Nov 11 1991 12:00AM Jul 3 1991 12:00AM Jul 3 1991 12:00AM (18 row(s) affected)
DATEADD ( datepart , number, date ),理解为,date是一个日期对象,要在date上增加时间,datepart表示
需要在那部分添加(如:Year,Day,hour等),number添加的数量。
例子:
DATEADD ( Year , 2, 1991-06-12 00:00:00.000) 在年(1991年)上增加2,则返回值为1993-06-12 00:00:00.000
DATEADD ( Day, 2, 1991-06-12 00:00:00.000) 在日(12号)上增加2,则返回值为1991-06-14 00:00:00.000
DATEADD ( Hour, 2, 1991-06-12 00:00:00.000) 在小时(00小时)上增加2,则返回值为1991-06-12 02:00:00.000
<!--relatedtopicslist-->