Sdílet prostřednictvím


Funkce extract

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Vrátí field hodnotu source.

Syntaxe

extract(field FROM source)

Argumenty

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

Návraty

Pokud field je , SECONDa DECIMAL(8, 6). Ve všech ostatníchpřípadechch INTEGER

Podporované hodnoty v source DATE těchto field případech:TIMESTAMP

  • YEAR, Y, YEARS, , YRSYR: Pole rok
  • YEAROFWEEK: Iso 8601 week-numbering year that the datetime falls in. 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é spadá datum a čas
  • MONTH, MON, , MONTHSMONS: Pole měsíce (1 – 12)
  • WEEK, W, WEEKS: Číslo iso 8601 týden-týden-založené-na roce. 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 a čas jako neděle(1) až sobota(7)
  • DAYOFWEEK_ISO, DOW_ISO: iso 8601 na základě dne v týdnu pro datum a čas jako pondělí(1) až neděle(7)
  • DOY: Den v roce (1 – 365/366)
  • HOUR, H, HOURS, , HRSHR: Pole hodin (0 – 23)
  • MINUTE, M, MIN, , MINUTESMINS: Pole minut (0 – 59)
  • SECOND, S, SEC, , SECSSECONDS: Pole sekund, včetně desetinné části

Podporované hodnoty field , kdy source INTERVAL jsou (nerozlišují malá a velká písmena):

  • YEAR, Y, YEARS, , YR: YRSCelkový počet měsíců / 12
  • MONTH, MON, , MONTHSMONS: Celkový počet měsíců % 12
  • DAY, , DDAYS: Část intervalu dnů
  • HOUR, H, HOURS, HR, : HRSKolik hodin mikrosekundy obsahuje
  • MINUTE, M, MIN, MINS, : MINUTESKolik minut zbývá po uplynutí hodin od mikrosekund
  • SECOND, S, SEC, , SECSSECONDS: Kolik sekund s zlomky zbývá po uplynutí hodin a minut od mikrosekund

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