В этом руководстве вы узнаете, как использовать функцию SQL Server YEAR() для извлечения года из даты.
Обзор функции SQL Server YEAR()
Функция YEAR() возвращает целочисленное значение, представляющее год указанной даты.
Ниже показан синтаксис функции YEAR():
YEAR(input_date)
Функция принимает аргумент, который может быть буквальным значением даты или выражением, которое может быть преобразовано в значение TIME, DATE, SMALLDATETIME, DATETIME, DATETIME2 или DATETIMEOFFSET.
Функция YEAR() возвращает то же значение, что и следующая функцияDATEPART() :
DATEPART(year,input_date)
Примеры функций SQL Server YEAR()
A) Использование функции YEAR() с буквальным значением даты
В этом примере функция YEAR() используется для извлечения года из даты «2019-02-01»:
SELECT YEAR('2019-02-01') [year];
Вывод:
year ----------- 2019 (1 row affected)
B) Использование функции YEAR() со значением даты, которое содержит только часть времени
Если входное значение даты содержит только данные о времени, функция YEAR() вернет 1900:
SELECT YEAR('11:05:01') [year];
Вот что получилось:
year ----------- 1900 (1 row affected)
C) Пример использования функции YEAR() со столбцами таблицы
Для демонстрации мы будем использовать sales.orders и sales.order_items из образца базы данных.
В этом примере функция YEAR() используется для извлечения данных о годе из значений в столбце shipped_date. Она возвращает валовые продажи по годам с использованием функции SUM() и предложения GROUP BY :
SELECT YEAR(shipped_date) [year], 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 GROUP BY YEAR(shipped_date) order by [year];
Ниже показан результат:
year gross_sales ----------- ----------- 2016 2649649.97 2017 3725890.76 2018 1062469.33 (3 rows affected)
В этом уроке вы узнали, как извлечь год из указанной даты с помощью функции SQL Server YEAR().