Как выделить год из даты в sql
Перейти к содержимому

Как выделить год из даты в sql

  • автор:

YEAR (Transact-SQL)

Возвращает целое число, представляющее год указанной даты.

Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в статье Типы данных и функции даты и времени (Transact-SQL).

Синтаксис

YEAR ( date ) 

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

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); 

Функция EXTRACT

Функция EXTRACT извлекает отдельные части из даты или даты-времени.

Синтаксис

SELECT EXTRACT(что_извлечь FROM дата) FROM имя_таблицы WHERE условие

Вместо ‘что_извлечь’ можно написать, к примеру, DAY — тогда из даты будет извлечен день, или, к примеру, YEAR — тогда будет извлечен год. Если же я напишу так: YEAR_MONTH — то будет извлечен год и месяц (слитно, без разделителя). Если вам нужно извлекать несколько частей не слитно, а используя разделитель — используйте DATE_FORMAT .

Форматы вывода

  • SECOND секунды
  • MINUTE минуты
  • HOUR часы
  • DAY дни
  • MONTH месяцы
  • YEAR года
  • MINUTE_SECOND минуты и секунды
  • HOUR_MINUTE часы и минуты
  • DAY_HOUR дни и часы
  • YEAR_MONTH года и месяцы
  • HOUR_SECOND

    часы, минуты, секунды

  • DAY_MINUTE

    дни, часы, минуты

  • DAY_SECOND

    дни, часы, минуты, секунды

Таблицы для примеров

таблица users

id
айди
name
имя
date
дата рождения
1 user1 1988-03-01
2 user2 1989-04-02
3 user3 1990-05-03

Пример

В данном примере при выборке из таблицы из даты извлекается день месяца:

SELECT *, EXTRACT(DAY FROM date) as day FROM users

Результат выполнения кода:

id
айди
name
имя
date
дата рождения
day
день
1 user1 1988-03-01 1
2 user2 1989-04-02 2
3 user3 1990-05-03 3

Пример

В данном примере при выборке из таблицы из даты извлекается год:

SELECT *, EXTRACT(YEAR FROM 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

Пример

В данном примере при выборке из таблицы из даты извлекается год и месяц (слитно):

SELECT *, EXTRACT(YEAR_MONTH FROM date) as yearmonth FROM users

Результат выполнения кода:

id
айди
name
имя
date
дата рождения
yearmonth
год и месяц
1 user1 1988-03-01 198803
2 user2 1989-04-02 198904
3 user3 1990-05-03 199005

Смотрите также

  • функцию DATE ,
    которая извлекает дату из даты-времени
  • функцию YEAR ,
    которая извлекает год из даты
  • функцию MONTH ,
    которая извлекает месяц из даты
  • функцию DAY ,
    которая извлекает день из даты

YEAR (Transact-SQL)

Returns an integer that represents the year of the specified date.

For an overview of all Transact-SQL date and time data types and functions, see Date and Time Data Types and Functions (Transact-SQL).

Syntax

YEAR ( date ) 

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

Arguments

date
Is an expression that can be resolved to a time, date, smalldatetime, datetime, datetime2, or datetimeoffset value. The date argument can be an expression, column expression, user-defined variable or string literal.

Return Types

int

Return Value

YEAR returns the same value as DATEPART (year, date).

If date only contains a time part, the return value is 1900, the base year.

Examples

The following statement returns 2010 . This is the number of the year.

SELECT YEAR('2010-04-30T01:01:01.1234567-07:00'); 

The following statement returns 1900, 1, 1 . The argument for date is the number 0 . SQL Server interprets 0 as January 1, 1900.

SELECT YEAR(0), MONTH(0), DAY(0); 

Examples: Azure Synapse Analytics and Analytics Platform System (PDW)

The following statement returns 1900, 1, 1 . The argument for date is the number 0 . SQL Server interprets 0 as January 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'); 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *