Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения:
Databricks SQL
Databricks Runtime
Возвращает field из source.
Замечание
При извлечении полей из TIMESTAMP (TIMESTAMP_LTZ) результат основан на часовом поясе сеанса.
Синтаксис
extract(field FROM source)
Аргументы
-
field: ключевое слово, определяющее, какую частьsourceследует извлечь. -
source:DATE,TIMESTAMP,TIMESTAMP_NTZилиINTERVALвыражение.
Возвраты
Если для field задано значение 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, ,MONMONSMONTHS: поле месяца (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, ,HHOURSHRHRS, : поле часа (0 – 23) -
MINUTE,M,MIN,MINS,MINUTES: поле минут (0 – 59) -
SECOND,S, ,SECSECONDSSECS: поле секунд, включая дробные части
Поддерживаемые значения field, когда source является INTERVAL (без учета регистра):
-
YEAR,Y,YEARS,YR,YRS: общее количество месяцев / 12 -
MONTH,MON,MONS,MONTHS: общее количество месяцев % 12 -
DAY,D,DAYS: часть интервала в днях -
HOUR,H, ,HOURSHRHRS: сколько часов содержит микросекунда -
MINUTE,M,MIN,MINS,MINUTES: сколько минут осталось после вычета часов из микросекунд -
SECOND,S,SECSECONDSSECS: Сколько секунд с дробями осталось после вычитания часов и минут из микросекунд
Чтобы вернуть трехбуквенный акроним для дня недели, используйте функцию dayname.
Примеры
> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
2019
> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
33
> SELECT extract(DAY FROM DATE'2019-08-12');
12
> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
1.000001
> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
11
> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
30.001000