Функция SQL Server DAY

В этом руководстве вы узнаете, как использовать функцию 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

В этом уроке вы узнали, как извлечь день из указанной даты с помощью функции SQL Server DAY().

Мирослав С.

Автор статей, ИБ-специалист