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
Форматы времени
Строковый формат без разделителей

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

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