sql 中Dateadd()函数的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 中Dateadd()函数的用法相关的知识,希望对你有一定的参考价值。
参考技术A DATEADD在向指定日期加上一段时间的基础上,返回新的
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)
请参见
嗯。。。。。SQL函数名之DATEADD的用法
我去查了联机丛书,但没有看懂,
SELECT DATEADD(MM,4,'01/01/99')
请回答以上查询的结果,并解释结果是怎么来的:)
我晕,我突然想明白了。还是要谢谢一下。
但有一点不懂的是,我在网上发现了这个:
DateAdd(m, 1, 31-Jan-95) 上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年 2 月 29 日。
问:为什么不是“ 1995 年 2 月 31 日”,而是“1995 年 2 月 28 日”呢?这个怎么是反着加的?
所以结果应该是1999年5月1日(1999-5-1)
不过最好写成
select dateadd(MM,4,'01/01/1999') 参考技术A 2月平年只有28日,闰年只有29日,没有31日 - -b
以上是关于sql 中Dateadd()函数的用法的主要内容,如果未能解决你的问题,请参考以下文章