DATEPART (Transact-SQL)
Возвращает целое число, представляющее указанную часть даты.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
DATEPART ( datepart , 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
hour
hh
minute
mi, n
second
ss, s
millisecond
ms
Часть даты week (wk, ww) отражает изменения, сделанные для SET DATEFIRST. 1 января любого года определяет начальное число для раздела даты week, например: DATEPART(wk,'Jan 1, xxxx') = 1, где xxxx — любой год.
Часть даты weekday (dw) возвращает число, которое соответствует дню недели, например: воскресенье = 1, суббота = 7. Число, полученное разделом даты weekday, зависит от значения, установленного путем SET DATEFIRST. Оно устанавливает первый день недели.
date
Выражение, которое возвращает значение datetime, значение smalldatetime либо символьную строку в формате даты. Используйте тип данных datetime только для дат после 1 января 1753 г. Более ранние даты храните как символьные данные. Когда вводятся значения аргумента datetime, всегда необходимо включать их в кавычки. Так как smalldatetime имеет точность до минуты, секунды и миллисекунды всегда равны 0, когда используется значение smalldatetime.Если заданы только две последние цифры года, значения, меньшие или равные двум последним цифрам значения конфигурационного параметра two-digit year cutoff, принадлежат тому же веку, что и отсекаемый год. Значения, которые больше двух последних цифр значения этого параметра, принадлежат предыдущему по отношению к отсекаемому году веку. Например, если two-digit year cutoff равно 2049 (значение по умолчанию), 49 интерпретируется как 2049, а 50 интерпретируется как 1950. Чтобы избежать двусмысленности, используйте четырехразрядные обозначения года.
Дополнительные сведения о задании значений времени см. в разделе Форматы времени. Дополнительные сведения об указании дат см. в разделе Дата и время (Transact-SQL).
Типы возвращаемых данных
int
Замечания
Функции DAY, MONTH и YEAR являются синонимами для DATEPART(**dd,**date), DATEPART(mm,date) и DATEPART(yy, date) соответственно.
Примеры
Функция GETDATE возвращает текущую дату. Однако полная дата не всегда является данными, необходимыми для сравнения; часто сравнивается только часть даты. Следующий пример показывает выход GETDATE
и DATEPART
.
SELECT GETDATE() AS 'Current Date'
GO
Ниже приводится результирующий набор.
Current Date
---------------------------
Feb 18 1998 11:46PM
SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO
Ниже приводится результирующий набор.
Month Number
------------
2
Следующий пример получает дату 29 мая.
SELECT DATEPART(month, GETDATE())
GO
Ниже приводится результирующий набор.
-----------
5
(1 row(s) affected)
В следующем примере дата указана как число. Обратите внимание на то, что SQL Server интерпретирует 0 как 1 января 1900 г.
SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)
Ниже приводится результирующий набор.
----- ------ ------
1 1 1900
См. также
Справочник
Функции CAST и CONVERT (Transact-SQL)
Типы данных (Transact-SQL)
Функции даты и времени (Transact-SQL)
Другие ресурсы
Формат ISO 8601
Алфавитный формат даты
Числовой формат дат
Формат ODBC Datetime
Форматы времени
Строковый формат без разделителей