Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja
Dotyczy:
Databricks SQL
Databricks Runtime
Zwraca wartość fieldsource.
Uwaga / Notatka
Podczas wyodrębniania pól z elementu TIMESTAMP (TIMESTAMP_LTZ) wynik jest oparty na strefie czasowej sesji.
Składnia
extract(field FROM source)
Argumenty
-
field: Słowo kluczowe, które wybiera, która częśćsourcepowinna zostać wyodrębniona. -
source: wyrażenieDATE,TIMESTAMP,TIMESTAMP_NTZlubINTERVAL.
Zwraca
Jeśli field jest SECOND, a DECIMAL(8, 6).
We wszystkich innych przypadkach element INTEGER.
Obsługiwane wartości field, gdy source jest DATE lub TIMESTAMP:
-
YEAR, ,Y,YEARS,YRYRS: pole roku -
YEAROFWEEK: rok zgodny z numeracją tygodniową ISO 8601, w którym przypada data/godzina. Na przykład 2005-01-02 jest częścią 53 tygodnia roku 2004, więc wynik to 2004 -
QUARTER,QTR: kwartał (1– 4) roku, w ramach którego przypada data/godzina -
MONTH,MON,MONS,MONTHS: pole miesiąca (1–12) -
WEEK,W,WEEKS: liczba tygodnia w roku opartym na tygodniach według ISO 8601. Tydzień uznaje się za rozpoczynający się w poniedziałek, a tydzień 1 to pierwszy tydzień z co najmniej >3 dniami. W systemie numerowania tygodni ISO istnieje możliwość, aby daty z początku stycznia były częścią 52 lub 53 tygodnia poprzedniego roku, a pod koniec grudnia daty będą 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 2013 r. -
DAY,D,DAYS: pole dnia miesiąca (1 – 31) -
DAYOFWEEK,DOW: dzień tygodnia dla daty i godziny, od niedzieli (1) do soboty (7) -
DAYOFWEEK_ISO,DOW_ISO: Dzień tygodnia oparty na ISO 8601 dla daty i godziny od poniedziałku (1) do niedzieli (7) -
DOY: dzień roku (1 – 365/366) -
HOUR, ,H,HOURS,HRHRS: pole godziny (od 0 do 23) -
MINUTE,M,MIN,MINS,MINUTES: pole minut (od 0 do 59) -
SECOND,S,SEC,SECONDS,SECS: pole sekundy, łącznie z częściami ułamkowymi
Obsługiwane wartości field, gdy source jest INTERVAL (bez uwzględniania wielkości liter):
-
YEAR,Y, ,YEARS,YRYRS: łączna liczba miesięcy / 12 -
MONTH, ,MON,MONSMONTHS: łączna liczba miesięcy % 12 -
DAY,D,DAYS: dniowa część interwału -
HOUR, ,H,HOURS,HRHRS: ile godzin zawiera mikrosekundy -
MINUTE,M,MIN,MINS,MINUTES: ile minut pozostało po odjęciu godzin od mikrosekund -
SECOND,S,SEC,SECONDSSECS: ile sekund z ułamkami pozostaje po odjęciu godzin i minut od mikrosekund
Aby zwrócić trzyliterowy akronim dnia tygodnia, użyj funkcji dayname.
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