SQL Server DATEADD 函数

2025年3月17日 | 阅读 3 分钟

SQL Server DATEADD 函数用于向指定的日期添加天、月、年、小时、分钟、秒、毫秒、微秒或纳秒。指定的日期作为参数传递给 DATEADD 函数。

SQL Server 中 DATEADD 函数的语法

DATEADD 函数的语法是

在上面写的语法中

  • Paramter_code: paramter_code 代表输入日期的特定参数,将向该参数添加 incremnet_value,该参数可以是输入日期的天、月、年、小时、分钟、秒、毫秒、微秒或纳秒。日期的每个部分都有一个特定的代码来表示这些参数,这些代码如下:
参数代码缩写
日期dd, d
纳秒ns
weekwk, ww
微秒mcs
毫秒ms
小时hh
分钟mi, n
ss, s
月份mm, m
yy, yyyy
  • Increment_value: increment_value 代表需要添加到输入日期参数的值。
  • Input_date: input_date 是实际的输入日期,将向该日期添加该值,并返回一个新日期作为该函数的结果。

如何在 SQL Server 中使用 DATEADD 函数?

让我们借助一些示例来理解 DATEADD 函数的用法。 让我们运行一些查询并观察它们的输出,以了解 DATEADD 函数的工作原理。


SQL Server DATEADD Function

正如我们在上图中看到的那样,输入日期是 6 月 26 日,我们得到的输出是 10 月 26 日。 DATEADD 函数将四个月添加到了作为第三个参数传递的日期。


SQL Server DATEADD Function

在上面的查询中,我们将十天添加到了当前日期,即 6 月 26 日。当我们添加十天时,结果日期的月份会自动更改,年份和月份也会发生同样的情况。

让我们创建一个名为 employee 的表,该表有三个列:empName 用于存储员工姓名,joining_date 和 work_upto_date 用于存储员工的入职日期和工作截止日期。 创建具有三个列(名为 empName、joining_date、work_upto_date)的 employee 表的语法是:


SQL Server DATEADD Function

正如我们在图像中清楚地看到的那样,已成功创建了具有上述架构的名为 employee 的表。

因此,一旦我们的表准备就绪,现在让我们使用 INSERT 查询将数据添加到该表中。 INSERT 查询的语法是


SQL Server DATEADD Function
SQL Server DATEADD Function

正如我们在图像中看到的那样,我们已成功地在 employee 表中插入了八行数据。 但是正如我们所看到的,我们仅将数据插入到 employee 表的 empName 和 joining_date 列中。 现在,为了将数据添加到 employee 表的 work_upto_date 列中,让我们假设一个前提条件,即每个员工都需要强制工作八个月,这意味着该员工必须从入职之日起至少在该公司工作八个月,因此为了计算工作截止日期,我们将使用 SQL Server 提供的 DATEADD 函数。 DATEADD 函数的语法,用于计算 employee 表中每个员工的工作截止日期为:


SQL Server DATEADD Function

正如我们在上图中看到的那样,数据已成功添加到 employee 表的 work_upto_date 列中。 DATEADD 函数获取 joining_date 列中存在的日期,并将八个月添加到该日期,并且该新的结果日期作为工作截止日期添加到 employee 表的 work_upto_date 列中。

因此,本文帮助我们更好地了解 SQL Server 中 COALESCE() 函数的工作原理和用法。


下一个主题SQL Server MERGE