DATEADD (Transact-SQL)

更新日期: 2006 年 4 月 14 日

返回给指定日期加上一个时间间隔后的新 datetime 值。

主题链接图标Transact-SQL 语法约定

语法

DATEADD (datepart , number, date )

参数

  • datepart
    指定要返回新值的日期的组成部分。下表列出了 Microsoft SQL Server 2005 可识别的日期部分及其缩写。

    日期部分 缩写

    year

    yy, yyyy

    quarter

    qq, q

    month

    mm, m

    dayofyear

    dy, y

    day

    dd, d

    week

    wk, ww

    weekday

    dw, w

    hour

    hh

    minute

    mi, n

    second

    ss, s

    millisecond

    ms

  • number
    用于与 datepart 相加的值。如果指定了非整数值,则将舍弃该值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。
  • date
    表达式,用于返回 datetimesmalldatetime 值,或日期格式的字符串。有关指定日期的详细信息,请参阅 日期和时间 (Transact-SQL)

    如果只指定年份的后两位数字,则小于或等于 two digit year cutoff 配置选项值的后两位数字的值将与截止年份处于同一世纪中。比此选项值的后两位数字大的值先于截止年份的世纪。例如,如果 two-digit year cutoff 为 2049(默认值),则 49 被解释为 2049,而 2050 被解释为 1950。为避免歧义,请使用四位的年份。

返回类型

返回 datetime。但是,如果 date 参数为 smalldatetime,则返回 smalldatetime

备注

datepart 为月份时,月份中的天数将影响结果。例如,八月有 31 天,而九月有 30 天。以下两个语句都将返回 2006-09-30 00:00:00.000

SELECT DATEADD(month, 1, '08/30/2006')
SELECT DATEADD(month, 1, '08/31/2006')

换句话说,在八月末增加一个月将返回九月的最后一天。

示例

以下示例将输出 AdventureWorks 数据库中订单的时间范围的列表。此时间范围为当前订单日期加上 21 天。

USE AdventureWorks;
GO
SELECT DATEADD(day, 21, OrderDate)AS TimeFrame 
FROM Sales.SalesOrderHeader;
GO

请参阅

参考

CAST 和 CONVERT (Transact-SQL)
数据类型 (Transact-SQL)
日期和时间函数 (Transact-SQL)

其他资源

ISO 8601 格式
字母日期格式
数值日期格式
ODBC 日期时间格式
时间格式
未分隔字符串格式

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2006 年 4 月 14 日

新增内容:
  • 添加了“备注”部分。