В этом руководстве вы узнаете, как использовать функцию SQL Server MONTH() для извлечения месяца из даты.
Обзор функции SQL Server MONTH()
Функция MONTH() возвращает целочисленное значение, представляющее месяц указанной даты.
Ниже показан синтаксис функции MONTH():
MONTH(input_date)
Функция MONTH() принимает аргумент, который может быть буквальным значением даты или выражением, которое может быть преобразовано в значение TIME, DATE, SMALLDATETIME, DATETIME, DATETIME2 или DATETIMEOFFSET.
Функция MONTH() возвращает то же значение, что и следующая функцияDATEPART() :
DATEPART(month,input_date)
Примеры функции SQL Server MONTH()
A) Использование функции MONTH() с буквальным значением даты
В этом примере функция MONTH() используется для извлечения месяца из даты «2020-12-01»:
SELECT MONTH('2020-12-01') [month];
Вот что получилось:
месяц ----------- 12 (1 строка затронута)
B) Использование функции MONTH() со значением даты, которое содержит только данные о времени
Функция MONTH() вернет 1, если значение даты содержит только часть времени:
SELECT MONTH('15:30:20') [month];
Вывод следующий:
месяц ----------- 1 (1 строка затронута)
C) Пример использования функции MONTH() со столбцами таблицы
Для демонстрации мы будем использовать sales.orders и sales.order_items из образца базы данных.
В этом примере используется функция MONTH() для извлечения данных о месяце из значений в столбце shipped_date. Она возвращает валовые продажи по месяцам в 2018 году с помощью функции SUM() и предложения GROUP BY :
SELECT MONTH(shipped_date) [month], SUM(list_price * quantity) gross_sales FROM sales.orders o INNER JOIN sales.order_items i ON i.order_id = o.order_id WHERE shipped_date IS NOT NULL AND YEAR(shipped_date) = 2017 GROUP BY MONTH(shipped_date) ORDER BY [month];
На следующем рисунке показан результат:
В этом уроке вы узнали, как извлечь месяц из указанной даты с помощью функции SQL Server MONTH().