2024年2月3日发(作者:)

sqlserver dateadd函数

日期函数在 SQL Server 中十分常见,并且在处理时间相关的数据时经常使用。其中 dateadd 函数是一个常用的日期函数,它可以在给定的日期中添加或减去指定的时间间隔,并返回新的日期。

下面,我们来一步步介绍 dateadd 函数的使用方法:

一、语法

dateadd 函数的语法如下:

DATEADD (datepart , number , date )

其中,datepart 是一个字符串,指定要添加或减去的时间间隔为: year(年),quarter(季度),month(月),dayofyear(年中的第几天),day(天),week(周),weekday(工作日,即

Monday 到 Friday),hour(时),minute(分),second(秒) ,millisecond(毫秒)、microsecond(微秒) 或 nanosecond(纳秒)。

number 是要添加或减去的时间间隔数值,它可以是正数也可以是负数。

date 是一个日期时间值(datetime、date 或 time 类型),是要被添加或减去时间间隔的源值。

二、示例

下面,我们通过一些示例来说明 dateadd 函数的用法。

1. 在一个日期中加上 n 天

SELECT DATEADD(day, 7, '2021-06-10') AS AddDate

输出:2021-06-17 00:00:00.000

解释:给 2021-06-10 加上 7 天,输出的结果为 2021-06-17。

2. 在一个日期中加上 n 个月

SELECT DATEADD(month, 3, '2021-06-10') AS AddMonth

输出:2021-09-10 00:00:00.000

解释:给 2021-06-10 加上 3 个月,输出的结果为 2021-09-10。

3. 在一个日期中加上 n 年

SELECT DATEADD(year, 2, '2021-06-10') AS AddYear

输出:2023-06-10 00:00:00.000

解释:给 2021-06-10 加上 2 年,输出的结果为 2023-06-10。

4. 在一个日期中加上 n 周

SELECT DATEADD(week, 1, '2021-06-10') AS AddWeek

输出:2021-06-17 00:00:00.000

解释:给 2021-06-10 加上 1 周,输出的结果为 2021-06-17。

5. 在一个日期中加上 n 小时

SELECT DATEADD(hour, 2, '2021-06-10 10:30:00') AS

AddHour

输出:2021-06-10 12:30:00.000

解释:给 2021-06-10 10:30:00 加上 2 小时,输出的结果为

2021-06-10 12:30:00。

6. 在一个日期中加上 n 分钟

SELECT DATEADD(minute, 30, '2021-06-10 10:30:00') AS

AddMinute

输出:2021-06-10 11:00:00.000

解释:给 2021-06-10 10:30:00 加上 30 分钟,输出的结果为

2021-06-10 11:00:00。

7. 在一个日期中加上 n 秒

SELECT DATEADD(second, 10, '2021-06-10 10:30:00') AS

AddSecond

输出:2021-06-10 10:30:10.000

解释:给 2021-06-10 10:30:00 加上 10 秒,输出的结果为

2021-06-10 10:30:10。

三、总结

本文详细介绍了 SQL Server 中的 dateadd 函数的语法和使用方法。通过对本文中给出的示例进行学习,可以掌握该函数的基本用法,方便在实际工作中进行时间相关数据的处理。当然,除了

dateadd 函数外,SQL Server 中还有众多其他的日期函数和操作方式,如果您对此感兴趣,可以进一步深入学习。