DATENAME (Transact-SQL)
Изменения: 17 июля 2006 г.
Возвращает строку символов, представляющую указанную часть даты.
Важно! |
---|
Эта процедура изменилась по сравнению с более ранними версиями SQL Server. Дополнительные сведения см. в разделе Изменения в работе функций компонента Database Engine в SQL Server 2005. |
Синтаксические обозначения в Transact-SQL
Синтаксис
DATENAME ( 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
При указании части даты weekday (dw) возвращается день недели, например воскресенье, понедельник и так далее.
date
Выражение, которое возвращает либо значение типа datetime или smalldatetime, либо символьную строку в формате даты. Используйте тип данных datetime для записи дат после 1 января 1753 года. Для более ранних дат используйте символьный тип данных. При вводе значений типа datetime всегда заключайте их в кавычки. Так как тип данных smalldatetime имеет точность до минуты, при использовании значения типа smalldatetime секунды и миллисекунды всегда равны 0. Дополнительные сведения об указании дат см. в разделе Дата и время (Transact-SQL). Дополнительные сведения об определении значений времени см. в разделе Форматы времени.Если указаны только две последние цифры года, значения, меньшие или равные двум последним цифрам значения параметра конфигурации two-digit year cutoff, принадлежат тому же веку, что и отсекаемый год. Значения, которые больше двух последних цифр значения этого параметра, принадлежат предыдущему по отношению к отсекаемому году веку. Например, если значение параметра two-digit year cutoff равно 2049 (по умолчанию), то 49 интерпретируется как 2049, а 50 интерпретируется как 1950. Чтобы избежать недоразумений, указывайте год четырьмя цифрами.
Типы возвращаемых данных
nvarchar
Замечания
При необходимости компонент SQL Server 2005 Database Engine автоматически производит преобразование между значениями символьного типа данных и типа данных datetime, например в случае сравнения символьного значения и значения с типом данных datetime.
Примеры
В следующем примере из даты, полученной при помощи оператора GETDATE
, выделяется название месяца.
SELECT DATENAME(month, GETDATE()) AS 'Month Name';
Ниже приводится результирующий набор.
Month Name
------------------------------
February
В следующем примере из столбца извлекается название месяца.
USE AdventureWorks;
GO
SELECT StartDate, DATENAME(month,StartDate) AS StartMonth
FROM Production.WorkOrder
WHERE WorkOrderID = 1;
GO
Ниже приводится результирующий набор.
StartDate StartMonth
-------------------------------- ------------
2001-07-04 00:00:00.000 July
В следующем примере каждый параметр datepart с аргументом date отображается в формате 'YYYY-MM-DDTHH:MM:SS.xxx'.
SELECT DATENAME(year,'1995-10-30 12:15:32.123');
SELECT DATENAME(yy,'1995-10-30 12:15:32.123');
SELECT DATENAME(yyyy,'1995-10-30 12:15:32.123');
-- Return: 1995
SELECT DATENAME(quarter,'1995-10-30 12:15:32.123');
SELECT DATENAME(qq,'1995-10-30 12:15:32.123');
SELECT DATENAME(q,'1995-10-30 12:15:32.123');
-- Return: 4
SELECT DATENAME(month,'1995-10-30 12:15:32.123');
SELECT DATENAME(mm,'1995-10-30 12:15:32.123');
SELECT DATENAME(m,'1995-10-30 12:15:32.123');
-- Return: October
SELECT DATENAME(dayofyear,'1995-10-30 12:15:32.123');
SELECT DATENAME(dy,'1995-10-30 12:15:32.123');
SELECT DATENAME(y,'1995-10-30 12:15:32.123');
-- Return: 303
SELECT DATENAME(day,'1995-10-30 12:15:32.123');
SELECT DATENAME(dd,'1995-10-30 12:15:32.123');
SELECT DATENAME(d,'1995-10-30 12:15:32.123');
-- Return: 30
SELECT DATENAME(week,'1995-10-30 12:15:32.123');
SELECT DATENAME(wk,'1995-10-30 12:15:32.123');
SELECT DATENAME(ww,'1995-10-30 12:15:32.123');
-- Return: 44
SELECT DATENAME(weekday,'1995-10-30 12:15:32.123');
SELECT DATENAME(dw,'1995-10-30 12:15:32.123');
-- Return: Monday
SELECT DATENAME(hour,'1995-10-30 12:15:32.123');
SELECT DATENAME(hour,'1995-10-30 12:15:32.123');
SELECT DATENAME(hh,'10/30/1995 12:15:32.123 PM');
SELECT DATENAME(hh,'10/30/1995 12:15:32.123 PM');
-- Return: 12
SELECT DATENAME(minute,'1995-10-30 12:15:32.123');
SELECT DATENAME(mi,'1995-10-30 12:15:32.123');
SELECT DATENAME(n,'1995-10-30 12:15:32.123');
-- Return: 15
SELECT DATENAME(second,'1995-10-30 12:15:32.123');
SELECT DATENAME(ss,'1995-10-30 12:15:32.123');
SELECT DATENAME(s,'1995-10-30 12:15:32.123');
-- Return: 32
SELECT DATENAME(millisecond,'1995-10-30 12:15:32.123');
SELECT DATENAME(ms,'1995-10-30 12:15:32.123');
-- Return: 123
Журнал изменений
Версия | Журнал |
---|---|
17 июля 2006 г. |
|
См. также
Справочник
Функции CAST и CONVERT (Transact-SQL)
Типы данных (Transact-SQL)
Функции даты и времени (Transact-SQL)
Другие ресурсы
Формат ISO 8601
Алфавитный формат даты
Числовой формат дат
Формат ODBC Datetime
Форматы времени
Строковый формат без разделителей