Udostępnij za pośrednictwem


Funkcja extract

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Zwraca wartość field source.

Składnia

extract(field FROM source)

Argumenty

  • field: słowo kluczowe, które wybiera, source która część powinna zostać wyodrębniona.
  • source: wyrażenie DATE, TIMESTAMPlub INTERVAL .

Zwraca

Jeśli field element to SECOND, a DECIMAL(8, 6). We wszystkich innych przypadkach element INTEGER.

Obsługiwane wartości parametru field when source to DATE lub TIMESTAMP:

  • YEAR, , Y, YEARS, YRSYR: pole roku
  • YEAROFWEEK: 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 2004
  • QUARTER, QTR: kwartał (1– 4) roku, w ramach którego przypada data/godzina
  • MONTH, , MON, MONTHSMONS: pole miesiąca (1–12)
  • WEEK, , WWEEKS: liczba tygodniowo-tygodniowego roku ISO 8601. Tydzień jest uważany za rozpoczęcie w poniedziałek i tydzień 1 jest pierwszym tygodniem z >3 dni. 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, , DDAYS: 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, HRSHR: pole godziny (od 0 do 23)
  • MINUTE, , M, MIN, MINUTESMINS: pole minut (od 0 do 59)
  • SECOND, , S, SEC, SECSSECONDS: pole sekund, w tym części ułamkowe

Obsługiwane wartości field , gdy source to INTERVAL (bez uwzględniania wielkości liter):

  • YEAR, Y, , YEARS, YRSYR: łączna liczba miesięcy / 12
  • MONTH, , MON, MONTHSMONS: łączna liczba miesięcy % 12
  • DAY, , DAYS: Dczęść dni interwału
  • HOUR, , H, HOURS, HRSHR: ile godzin zawiera mikrosekundy
  • MINUTE, , M, MIN, MINUTESMINS: ile minut pozostało po kilku godzinach od mikrosekund
  • SECOND, , S, SEC, SECSSECONDS: 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