📜  SQL Server 中的 DATEADD()函数

📅  最后修改于: 2022-05-13 01:55:05.715000             🧑  作者: Mango

SQL Server 中的 DATEADD()函数

DATEADD()函数:
SQL Server 中的此函数用于将时间或日期间隔求和到指定日期,然后返回修改后的日期。

特征 :

  • 此函数用于将时间或日期间隔与指定日期相加。
  • 此函数属于日期函数。
  • 该函数接受三个参数,即间隔、数字和日期。
  • 此函数还可以在间隔部分中包含时间。

句法 :

DATEADD(interval, number, date)

范围 :
该方法接受如下三个参数。

  • 间隔 -
    它是要添加的指定时间或日期间隔。此外,区间的值可以如下给出。
    year, yyyy, yy   = Year, which is the specified year to be added.
    quarter, qq, q   = Quarter, which is the specified quarter to be added.
    month, mm, m     = month, which is the specified month to be added.
    dayofyear, dy, y = Day of the year, which is the specified day of the year to be added.
    day, dd, d       = Day, which is the specified day to be added.
    week, ww, wk     = Week, which is the specified week to be added.
    weekday, dw, w   = Weekday, which is the specified week day to be added.
    hour, hh         = hour, which is the specified hour to be added.
    minute, mi, n    = Minute, which is the specified minute to be added.
    second, ss, s    = Second, which is the specified second to be added.
    millisecond, ms  = Millisecond, which is the specified millisecond to be added.
    
  • 数字 -
    它是要添加到指定日期的间隔数。它可以是正数,以获得未来的日期,也可以是负数,以获得过去的日期。
  • 日期 -
    这是要更改的指定日期。

回报:
在将日期或时间间隔添加到指定日期后,它会返回修改后的日期。

示例-1:
使用 DATEADD()函数并添加日期的年份部分以获取修改日期。

SELECT DATEADD(year, 2, '2019/01/05');

输出 :

2021-01-05 00:00:00.000

示例 2 :
使用 DATEADD()函数并添加日期的月份部分以获取修改日期。

SELECT DATEADD(month, 11, '2019/01/05');

输出 :

2019-12-05 00:00:00.000

示例 3 :
使用 DATEADD()函数并减去日期的月份部分以获得修改日期。

SELECT DATEADD(month, -1, '2019/01/05');

输出 :

2018-12-05 00:00:00.000

示例 4:
使用 DATEADD()函数并添加日期的日期部分以获取修改日期。

SELECT DATEADD(day, 32, '2015/04/14');

输出 :

2015-05-16 00:00:00.000

示例 5:
使用 DATEADD()函数并添加日期的分钟部分以获取修改日期。

SELECT DATEADD(minute, 6, '2015/04/14 09:55');

输出 :

2015-04-14 10:01:00.000

示例 6 :
使用 DATEADD()函数并使用变量添加日期的小时部分以获取修改日期。

DECLARE @number INT;
SET @number = 8;
SELECT 
DATEADD(hh, @number, '2021/01/02 08:50');

输出 :

2021-01-02 16:50:00.000

示例 7 :
使用 DATEADD()函数并使用变量添加日期的第二部分以获取修改日期。

DECLARE @number INT;
DECLARE @date VARCHAR(50);
SET @number = 08;
SET @date = '2011/11/22 07:59:56';
SELECT 
DATEADD(ss, @number, @date);

输出 :

2011-11-22 08:00:04.000

应用 :
此函数用于在将日期或时间间隔添加到指定日期后查找修改日期。