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 г. |
|