Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения: 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. Считается, что неделя начинается в понедельник, а первая неделя года — это та, в которой >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 в формате даты и времени с понедельника (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');
12
> 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);
1.001000