date_part
Функции
Область применения: Databricks SQL Databricks Runtime
Извлекает часть даты, метки времени или интервала.
Синтаксис
date_part(fieldStr, expr)
Аргументы
fieldStr
: литералSTRING
.expr
DATE
: выражение ,TIMESTAMP
илиINTERVAL
.
Возвращает
Если fieldStr
имеет значение 'SECOND'
, то значение .DECIMAL(8, 6)
Во всех остальных случаях — .INTEGER
Поддерживаемые значения , field
если source
имеет значение DATE
или TIMESTAMP
.
'YEAR'
,'Y'
,'YEARS'
, ,'YR'
:'YRS'
поле года'YEAROFWEEK'
: год нумерирования недели по стандарту ISO 8601, на который приходится дата и время. Например, 2005-01-02 является частью 53-й недели 2004 года, поэтому результатом будет 2004'QUARTER'
,'QTR'
: квартал (1–4) года, в который приходится дата и время.'MONTH'
,'MON'
,'MONS'
, :'MONTHS'
поле месяца (1–12)'WEEK'
,'W'
, :'WEEKS'
номер года по стандарту ISO 8601 на основе недели. Неделя считается началом в понедельник, а неделя 1 — первая неделя с >3 днями. В системе нумерирования недель ISO даты начала января могут быть частью 52-й или 53-й недели предыдущего года, а даты конца декабря могут быть частью первой недели следующего года. Например, 2005-01-02 является частью 53-й недели 2004 года, а 2012-12-31 является частью первой недели 2013 года'DAY'
,'D'
,'DAYS'
: поле дня месяца (1–31)'DAYOFWEEK'
,'DOW'
: день недели для даты и времени от воскресенья (1) до субботы (7)'DAYOFWEEK_ISO'
,'DOW_ISO'
: день недели на основе ISO 8601 для datetime с понедельника (1) по воскресенье(7)'DOY'
: день года (1 - 365/366)'HOUR'
,'H'
,'HOURS'
,'HR'
, :'HRS'
поле часа (0–23)'MINUTE'
,'M'
,'MIN'
, ,'MINS'
:'MINUTES'
поле минут (0–59)'SECOND'
,'S'
,'SEC'
, ,'SECONDS'
:'SECS'
поле секунд, включая дробные части
Поддерживаемые значения , field
когда source
имеет значение INTERVAL
(без учета регистра):
'YEAR'
,'Y'
,'YEARS'
, ,'YR'
:'YRS'
общее количество месяцев / 12'MONTH'
,'MON'
,'MONS'
, :'MONTHS'
общее количество месяцев, % 12'DAY'
,'D'
, :'DAYS'
часть интервала в днях'HOUR'
,'H'
,'HOURS'
,'HR'
, :'HRS'
сколько часов содержит микросекунд'MINUTE'
,'M'
,'MIN'
, ,'MINS'
:'MINUTES'
сколько минут осталось после приема часов из микросекунд'SECOND'
,'S'
,'SEC'
, ,'SECONDS'
:'SECS'
сколько секунд с долями осталось после приема часов и минут из микросекунд
Функция date_part
является синонимом стандартной функции извлечения SQL.
Например date_part('year', CURRENT_DATE)
, эквивалентно extract(YEAR FROM CURRENT_DATE)
Примеры
> SELECT date_part('YEAR', TIMESTAMP'2019-08-12 01:00:00.123456');
2019
> SELECT date_part('Week', TIMESTAMP'2019-08-12 01:00:00.123456');
33
> SELECT date_part('day', DATE'2019-08-12');
224
> SELECT date_part('SECONDS', TIMESTAMP'2019-10-01 00:00:01.000001');
1.000001
> SELECT date_part('Months', INTERVAL '2-11' YEAR TO MONTH);
11
> SELECT date_part('seconds', INTERVAL '5:00:30.001' HOUR TO SECOND);
30.001000