Sdílet prostřednictvím


Funkce extract

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime

Vrátí field hodnotu source.

Poznámka:

Když se extrahují pole z TIMESTAMP (TIMESTAMP_LTZ), výsledek je založen na časovém pásmu relace.

Syntaxe

extract(field FROM source)

Argumenty

  • field: Klíčové slovo, které vybere, která část source by se měla extrahovat.
  • source: DATE, TIMESTAMP, TIMESTAMP_NTZ nebo INTERVAL výraz.

Návraty

Pokud je field, SECOND a DECIMAL(8, 6). Ve všech ostatních případech INTEGER.

Podporované hodnoty field, když je sourceDATE nebo TIMESTAMP:

  • YEAR, Y, YEARS, , YRYRS: Pole rok
  • YEAROFWEEK: Rok číslování týdnů podle ISO 8601, do kterého datum a čas spadají. Například 2005-01-02 je součástí 53. týdne roku 2004, takže výsledek je 2004.
  • QUARTER, QTR: Čtvrtletí (1–4) roku, ve kterém spadá datum a čas
  • MONTH, MON, MONS, MONTHS: Pole měsíce (1 – 12)
  • WEEK, W, WEEKS: Číslo týdne podle roku založeného na týdnech podle normy ISO 8601. Týden se považuje za začátek v pondělí a týden 1 je první týden se >3 dny. V systému číslování týdnů ISO je možné, aby data počátku ledna byla součástí 52. nebo 53. týdne předchozího roku a aby data konce prosince byla součástí prvního týdne příštího roku. Například 2005-01-02 je součástí 53. týdne roku 2004, zatímco 2012-12-31 je součástí prvního týdne roku 2013.
  • DAY, D: DAYSDen v měsíci (1 - 31)
  • DAYOFWEEK, DOW: Den v týdnu, pro datum jako neděle(1) až sobota(7)
  • DAYOFWEEK_ISO, DOW_ISO: podle standardu ISO 8601 den v týdnu pro datum a čas od pondělí(1) do neděle(7)
  • DOY: Den v roce (1 – 365/366)
  • HOUR, H, HOURS, , HRHRS: Pole hodin (0 – 23)
  • MINUTE, M, MIN, , MINSMINUTES: Pole minut (0 – 59)
  • SECOND, S, SEC, SECONDS, SECS: Pole sekund, včetně desetinné části

Podporované hodnoty field, pokud je sourceINTERVAL, jsou (nezávisle na velikosti písmen):

  • YEAR, Y, YEARS, , YR: YRSCelkový počet měsíců / 12
  • MONTH, MON, , MONSMONTHS: Celkový počet měsíců % 12
  • DAY, D, DAYS: Dny jako část intervalu
  • HOUR, H, HOURS, HR, : HRSKolik hodin mikrosekundy obsahuje
  • MINUTE, M, MIN, MINS, MINUTES: Kolik minut zbývá, když odečteme hodiny od mikrosekund
  • SECOND, S, SEC, SECONDS, SECS: Kolik sekund se zlomky zbývá po odečtení hodin a minut od mikrosekund

Pokud chcete vrátit zkratku se třemi písmeny pro den v týdnu, použijte funkci název dne.

Příklady

> 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