在向指定日期加上一段时间的基础上,返回新的
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)
请参见
可以通过SELECT DATEADD(day, 相差天数, 日期) AS 别名 的格式来计算上周SELECT DATEADD(day, -7, 日期) AS 别名上月SELECT DATEADD(month, -1, 日期) AS 别名上年SELECT DATEADD(year, -1, 日期) AS 别名datediff是计算两个时间间的差,如差几天或是几个月,或是几年等select datediff(day,'2008.9.2','2008.10.28')
dateadd则是算出在已知时间的基础上再加多少天是几月几日.
select dateadd(year,10,getdate())
select dateadd(month,10,getdate())
select dateadd(day,10,getdate())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)