DATEADD (Transact-SQL)

Изменения: 14 апреля 2006 г.

Возвращает новое значение 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. Если указано значение, которое не является целым числом, дробная часть значения будет отброшена. Например, если указано значение day для параметра datepart и значение 1.75 для параметра number, то значение параметра date будет увеличено на 1.
  • date
    Выражение, которое возвращает значение datetime или smalldatetime либо символьную строку в формате даты. Дополнительные сведения об указании дат см. в разделе Дата и время (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 Datetime
Форматы времени
Строковый формат без разделителей

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

14 апреля 2006 г.

Новое содержимое:
  • Добавлен раздел «Примечания».