Spec-Zone.ru › DuckDB

Функции частей даты

Функции date_part и date_diff и date_trunc могут быть использованы для обработки полей временных типов, таких как DATE и TIMESTAMP. Поля задаются в виде строк, содержащих имя части поля.

Ниже приведен полный список всех доступных спецификаторов частей даты. Примеры — соответствующие части метки времени 2021-08-03 11:59:44.123456.

Спецификаторы частей, используемые как спецификаторы частей даты и в интервалах

Спецификатор Описание Синонимы Пример
'century' Столетие григорианского календаря 'cent', 'centuries', 'c' 21
'day' День григорианского календаря 'days', 'd', 'dayofmonth' 3
'decade' Десятилетие григорианского календаря 'dec', 'decades', 'decs' 202
'hour' Часы 'hr', 'hours', 'hrs', 'h' 11
'microseconds' Микросекунды до минуты 'microsecond', 'us', 'usec', 'usecs', 'usecond', 'useconds' 44123456
'millennium' Тысячелетие григорианского календаря 'mil', 'millenniums', 'millenia', 'mils', 'millenium' 3
'milliseconds' Миллисекунды до минуты 'millisecond', 'ms', 'msec', 'msecs', 'msecond', 'mseconds' 44123
'minute' Минуты 'min', 'minutes', 'mins', 'm' 59
'month' Месяц григорианского календаря 'mon', 'months', 'mons' 8
'quarter' Квартал года (1-4) 'quarters' 3
'second' Секунды 'sec', 'seconds', 'secs', 's' 44
'year' Год григорианского календаря 'yr', 'y', 'years', 'yrs' 2021

Спецификаторы частей, используемые только как спецификаторы частей даты

Спецификатор Описание Синонимы Пример
'dayofweek' День недели (воскресенье = 0, суббота = 6) 'weekday', 'dow' 2
'dayofyear' День года (1-365/366) 'doy' 215
'epoch' Секунды с 1970-01-01 1627991984
'era' Эра григорианского календаря (CE/AD, BCE/BC) 1
'isodow' День недели по ISO (понедельник = 1, воскресенье = 7) 2
'isoyear' Номер года по ISO (начинается с понедельника недели, содержащей 4 января) 2021
'timezone_hour' Часовая часть смещения часового пояса 0
'timezone_minute' Минутная часть смещения часового пояса 0
'timezone' Смещение часового пояса в секундах 0
'week' Номер недели 'weeks', 'w' 31
'yearweek' Номер года и недели ISO в формате YYYYWW 202131

Обратите внимание, что части часового пояса равны нулю, если не установлен плагин часового пояса, такой как ICU, для поддержки TIMESTAMP WITH TIME ZONE.

Функции частей

Существуют специализированные функции извлечения для получения определенных подполей:

Имя Описание
century(date) Столетие.
day(date) День.
dayofmonth(date) День (синоним).
dayofweek(date) Числовой день недели (воскресенье = 0, суббота = 6).
dayofyear(date) День в году (начинается с 1, т.е. 1 января = 1).
decade(date) Десятилетие (год / 10).
epoch(date) Секунды с 1970-01-01.
era(date) Календарная эра.
hour(date) Часы.
isodow(date) Числовой день недели по ISO (понедельник = 1, воскресенье = 7).
isoyear(date) Номер года по ISO (начинается с понедельника недели, содержащей 4 января).
microsecond(date) Микросекунды после минуты.
millennium(date) Тысячелетие.
millisecond(date) Миллисекунды после минуты.
minute(date) Минуты.
month(date) Месяц.
quarter(date) Квартал.
second(date) Секунды.
timezone_hour(date) Часовая часть смещения часового пояса.
timezone_minute(date) Минутная часть смещения часового пояса.
timezone(date) Смещение часового пояса в минутах.
week(date) Неделя по ISO.
weekday(date) Числовой синоним дня недели (воскресенье = 0, суббота = 6).
weekofyear(date) Неделя по ISO (синоним).
year(date) Год.
yearweek(date) BIGINT сочетания номера года по ISO и 2-значного номера недели по ISO.

century(date)

Описание Столетие.
Пример century(date '1992-02-15')
Результат 20

day(date)

Описание День.
Пример day(date '1992-02-15')
Результат 15

dayofmonth(date)

Описание День (синоним).
Пример dayofmonth(date '1992-02-15')
Результат 15

dayofweek(date)

Описание Числовой день недели (воскресенье = 0, суббота = 6).
Пример dayofweek(date '1992-02-15')
Результат 6

dayofyear(date)

Описание День в году (начинается с 1, т.е. 1 января = 1).
Пример dayofyear(date '1992-02-15')
Результат 46

decade(date)

Описание Десятилетие (год / 10).
Пример decade(date '1992-02-15')
Результат 199

epoch(date)

Описание Секунды с 1970-01-01.
Пример epoch(date '1992-02-15')
Результат 698112000

era(date)

Описание Календарная эра.
Пример era(date '0044-03-15 (BC)')
Результат 0

hour(date)

Описание Часы.
Пример hour(timestamp '2021-08-03 11:59:44.123456')
Результат 11

isodow(date)

Описание Числовой день недели по ISO (понедельник = 1, воскресенье = 7).
Пример isodow(date '1992-02-15')
Результат 6

isoyear(date)

Описание Номер года по ISO (начинается с понедельника недели, содержащей 4 января).
Пример isoyear(date '2022-01-01')
Результат 2021

microsecond(date)

Описание Микросекунды после минуты.
Пример microsecond(timestamp '2021-08-03 11:59:44.123456')
Результат 44123456

millennium(date)

Описание Тысячелетие.
Пример millennium(date '1992-02-15')
Результат 2

millisecond(date)

Описание Миллисекунды после минуты.
Пример millisecond(timestamp '2021-08-03 11:59:44.123456')
Результат 44123

minute(date)

Описание Минуты.
Пример minute(timestamp '2021-08-03 11:59:44.123456')
Результат 59

month(date)

Описание Месяц.
Пример month(date '1992-02-15')
Результат 2

quarter(date)

Описание Квартал.
Пример quarter(date '1992-02-15')
Результат 1

second(date)

Описание Секунды.
Пример second(timestamp '2021-08-03 11:59:44.123456')
Результат 44

timezone_hour(date)

Описание Часовая часть смещения часового пояса.
Пример timezone_hour(date '1992-02-15')
Результат 0

timezone_minute(date)

Описание Минутная часть смещения часового пояса.
Пример timezone_minute(date '1992-02-15')
Результат 0

timezone(date)

Описание Смещение часового пояса в минутах.
Пример timezone(date '1992-02-15')
Результат 0

week(date)

Описание Неделя ISO.
Пример week(date '1992-02-15')
Результат 7

weekday(date)

Описание Числовой синоним дня недели (воскресенье = 0, суббота = 6).
Пример weekday(date '1992-02-15')
Результат 6

weekofyear(date)

Описание Неделя ISO (синоним).
Пример weekofyear(date '1992-02-15')
Результат 7

year(date)

Описание Год.
Пример year(date '1992-02-15')
Результат 1992

yearweek(date)

Описание BIGINT комбинированного номера года ISO и 2-значного номера недели ISO.
Пример yearweek(date '1992-02-15')
Результат 199207

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/sql/functions/datepart.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API