В этом руководстве вы узнаете, как использовать функцию SQL Server DAY() для извлечения дня месяца из указанной даты.
Обзор функции SQL Server DAY()
Функция DAY() возвращает целочисленное значение, представляющее день месяца(1-31) указанной даты.
Ниже показан синтаксис функции DAY():
DAY(input_date)
Функция DAY() принимает один аргумент, который может быть буквальным значением даты или выражением, которое может быть преобразовано в значение TIME, DATE, SMALLDATETIME, DATETIME, DATETIME2 или DATETIMEOFFSET.
Функция DAY() возвращает то же значение, что и следующая функцияDATEPART() :
DATEPART(day,input_date)
Примеры функции SQL Server DAY()
Давайте рассмотрим несколько примеров использования функции ДЕНЬ().
A) Использование функции DAY() с буквальным значением даты
В этом примере функция DAY() используется для извлечения дня из даты «2030-12-01»:
SELECT DAY('2030-12-01') [DAY];
Вот что получилось:
DAY ----------- 1 (1 row affected)
B) Использование функции DAY() со значением даты, которое содержит только часть времени
Функция DAY() вернет 1, если входная дата содержит только часть времени:
SELECT DAY('10:20:30') [DAY];
Ниже показан результат:
DAY ----------- 1 (1 row affected)
C) Пример использования функции DAY() со столбцами таблицы
Для демонстрации мы будем использовать sales.orders и sales.order_items из образца базы данных.
В этом примере функция DAY() используется для извлечения данных о днях из значений в столбце shipped_date. Она возвращает валовые продажи по дням в феврале 2017 года с использованием функции SUM() и предложения GROUP BY:
SELECT DAY(shipped_date) [day], 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 AND MONTH(shipped_date) = 2 GROUP BY DAY(shipped_date) ORDER BY [day];
На следующем рисунке показан результат:
В этом уроке вы узнали, как извлечь день из указанной даты с помощью функции SQL Server DAY().