YEAR (Transact-SQL)
Возвращает целое число, представляющее год указанной даты.
Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в статье Типы данных и функции даты и времени (Transact-SQL).
Синтаксис
YEAR ( date )
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
date
Выражение, которое можно привести к значению типа time, date, smalldatetime, datetime, datetime2 или datetimeoffset. Аргумент date может быть выражением, выражением столбца, определяемой пользователем переменной или строковым литералом.
Типы возвращаемых данных
int
Возвращаемое значение
Функция YEAR возвращает то же значение, что и функция DATEPART (year, date).
Если дата date содержит только компонент времени, возвращаемое значение равно 1900, базовому году.
Примеры
Следующая инструкция возвращает значение 2010 . Порядковый номер года.
SELECT YEAR('2010-04-30T01:01:01.1234567-07:00');
Следующая инструкция возвращает значение 1900, 1, 1 . В качестве значения аргумента date задается число 0 . SQL Server интерпретируется 0 как 1 января 1900 г.
SELECT YEAR(0), MONTH(0), DAY(0);
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
Следующая инструкция возвращает значение 1900, 1, 1 . В качестве значения аргумента date задается число 0 . SQL Server интерпретируется 0 как 1 января 1900 г.
SELECT TOP 1 YEAR(0), MONTH(0), DAY(0);
Как получить год из даты sql
Для извлечения года из даты в PostgreSQL используется функция EXTRACT . Тут всё достаточно тривиально, потому сразу приведу пример её использования:
SELECT EXTRACT(YEAR FROM TIMESTAMP '2022-08-26 12:24:56');
Как правильно получить год из даты sql
Здравствуйте, мне нужно получить разницу между двумя датами с помощью функции select DATEDIFF(year, 1997-01-01, getdate()) но функция возвращает не верное значение, плохо отрабатывает функция, которая вычисляет год из даты (т.е. 2й аргумент), если выполнить функцию year(1997-01-01) то она вернет 1905, в моей таблице есть поле DateOfBurn и значение его date (при заполнении я только ввожу «1990-02-02») и есть вычисляемый столбец Age DATEDIFF(year, DateOfBurn, getdate()) Помогите пожалуйста составить запрос правильно.
Отслеживать
8,531 2 2 золотых знака 22 22 серебряных знака 35 35 бронзовых знаков
задан 8 сен 2016 в 7:25
simply good simply good
566 1 1 золотой знак 7 7 серебряных знаков 20 20 бронзовых знаков
Функция YEAR
Функция YEAR извлекает номер года из даты. Дата может быть в формате date или datetime.
Синтаксис
SELECT YEAR(дата) FROM имя_таблицы WHERE условие
Таблицы для примеров
| id айди |
name имя |
date дата рождения |
|---|---|---|
| 1 | user1 | 1988-03-01 |
| 2 | user2 | 1989-04-02 |
| 3 | user3 | 1990-05-03 |
Пример
В данном примере при выборке из таблицы из даты извлекается год:
SELECT *, YEAR(date) as year FROM users
Результат выполнения кода:
| id айди |
name имя |
date дата |
year год |
|---|---|---|---|
| 1 | user1 | 1988-03-01 | 1988 |
| 2 | user2 | 1989-04-02 | 1989 |
| 3 | user3 | 1990-05-03 | 1990 |
Смотрите также
- функцию DAY ,
которая извлекает день из даты - функцию MONTH ,
которая извлекает месяц из даты - функцию DATE ,
которая извлекает дату из даты-времени - функцию HOUR ,
которая извлекает часы из времени - функцию MINUTE ,
которая извлекает минуты из времени - функцию SECOND ,
которая извлекает секунды из времени