mysql sql dateadd_SQL Server Dateadd()函数

在本教程中,将学习如何使用SQL Server DATEADD()函数将指定值添加到日期的指定日期部分。

SQL Server DATEADD()函数简介

DATEADD()函数将数字值添加到输入日期的指定日期部分,并返回修改后的值。

以下是DATEADD()函数的语法:

DATEADD (date_part , value , input_date )

DATEADD()函数接受三个参数:

date_part参数是DATEADD()函数将添加值的日期部分(参见下表中的有效日期部分)。

value参数是要添加到input_date的date_part部分的整数。如果值的计算结果为十进制或浮点数,则函数DATEADD()将截断小数部分。 在这种情况下,它不会对数字进行舍入。

input_date参数是文字日期值或表达式,可以将它们解析为:DATE,DATETIME,DATETIMEOFFSET,DATETIME2,SMALLATETIME或TIME类型的值。

下表列出了date_part的有效值:

date_part

缩写形式

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

microsecond

mcs

nanosecond

ns

DATEADD()函数在将值添加到date_part后返回新的日期值。

SQL Server DATEADD()函数示例

下面来看一些使用DATEDIFF()函数的例子。

将1秒钟加到2019-12-31 23:59:59,如下查询语句:

SELECT

DATEADD(second, 1, '2019-12-31 23:59:59') result;

执行上面查询语句,得到以下结果:

result

-----------------------

2020-01-01 00:00:00.000

(1 行受影响)

将1天加到2019-12-31 23:59:59,如下查询语句:

SELECT

DATEADD(day, 1, '2019-12-31 23:59:59') result;

执行上面查询语句,得到以下结果:

result

-----------------------

2020-01-01 23:59:59.000

下面示例使用DATEADD()函数根据订购日期计算估计的发货日期:

SELECT

order_id,

customer_id,

order_date,

DATEADD(day, 2, order_date) estimated_shipped_date

FROM

sales.orders

WHERE

shipped_date IS NULL

ORDER BY

estimated_shipped_date DESC;

执行上面查询语句,得到以下结果:

239be3555e47efd4617c86d9c896ab5b.png

处理月份的示例

如果向日期添加了几个月且日期结果的日期不存在,则DATEDIFF()函数将返回返回月份的最后一天。

请参阅以下示例:

SELECT

DATEADD(month, 4, '2020-05-31') AS result;

在此示例中,返回日期的月份是9月。 但是,9月份不存在第31日,因此,DATEDIFF()函数返回9月(30)的最后一天作为结果日期的日期:

result

-----------------------

2020-09-30 00:00:00.000

(1 row affected)

请注意,以下查询返回相同的结果:

SELECT

DATEADD(month,4,'2019-05-30') AS result;

执行上面查询语句,得到以下结果:

result

-----------------------

2019-09-30 00:00:00.000

(1 row affected)

在本教程中,学习了如何使用SQL Server DATEDIFF()函数将指定值添加到日期的日期部分。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值