extract
Funkcja
Dotyczy: wyboru SQL usługi Databricks Databricks Runtime
Zwraca wartość field
.source
Składni
extract(field FROM source)
Argumenty
field
: słowo kluczowe, które wybiera częśćsource
, która ma zostać wyodrębniona.source
: wyrażenieDATE
,TIMESTAMP
lubINTERVAL
.
Zwraca
Jeśli field
parametr ma SECOND
wartość , a DECIMAL(8, 6)
.
We wszystkich pozostałych przypadkach element INTEGER
.
Obsługiwane wartości parametru field
, gdy source
jest lub DATE
TIMESTAMP
:
YEAR
, ,Y
,YEARS
,YRS
YR
: pole rokuYEAROFWEEK
: rok numerowania tygodniowego ISO 8601, w przypadku którego przypada data/godzina. Na przykład 2005-01-02 jest częścią 53 tygodnia roku 2004, więc wynik to 2004QUARTER
,QTR
: kwartał (1–4) roku, w ramach którego przypada data/godzinaMONTH
, ,MON
,MONTHS
MONS
: pole miesiąca (1–12)WEEK
, ,W
WEEKS
: liczba iso 8601 tydzień tygodnia na podstawie roku. Uważa się, że tydzień rozpoczyna się w poniedziałek i tydzień 1 jest pierwszym tygodniem z >3 dniami. W systemie numerowania tygodni ISO daty na początku stycznia mogą być częścią 52. lub 53. tygodnia poprzedniego roku, a daty z końca grudnia mogą być częścią pierwszego tygodnia następnego roku. Na przykład 2005-01-02 jest częścią 53 tygodnia roku 2004, podczas gdy 2012-12-31 jest częścią pierwszego tygodnia 2013DAY
, ,D
DAYS
: dzień pola miesiąca (1–31)DAYOFWEEK
,DOW
: dzień tygodnia dla daty/godziny jako niedziela(1) do soboty (7)DAYOFWEEK_ISO
,DOW_ISO
: iso 8601 na podstawie dnia tygodnia dla daty/godziny w poniedziałek(1) do niedzieli(7)DOY
: dzień roku (1 – 365/366)HOUR
, ,H
,HOURS
,HRS
HR
: pole godziny (0–23)MINUTE
, ,M
,MIN
,MINUTES
MINS
: pole minut (0–59)SECOND
, ,S
,SECONDS
SEC
,SECS
: pole sekund, w tym części ułamkowe
Obsługiwane wartości parametru field
when source
is INTERVAL
(bez uwzględniania wielkości liter):
YEAR
, ,Y
,YR
YEARS
,YRS
: łączna liczba miesięcy / 12MONTH
, ,MON
,MONTHS
MONS
: suma miesięcy % 12DAY
, ,DAYS
:D
część interwału dniHOUR
, ,H
,HOURS
,HRS
HR
: ile godzin zawiera mikrosekundyMINUTE
, ,M
,MIN
,MINUTES
MINS
: ile minut pozostało po godzinach od mikrosekundSECOND
, ,S
,SEC
,SECS
SECONDS
: ile sekund z ułamkami pozostało po godzinach i minutach od mikrosekund
Przykłady
> 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