Megosztás a következőn keresztül:


A extract függvény

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Visszatérési érték field : source.

Syntax

extract(field FROM source)

Argumentumok

  • field: Egy kulcsszó, amely kiválasztja, hogy melyik részét source kell kinyerni.
  • source: A DATE, TIMESTAMPvagy INTERVAL kifejezés.

Válaszok

Ha field igen SECOND, akkor a DECIMAL(8, 6). Minden más esetben egy INTEGER.

A következő támogatott értékek field source:DATE TIMESTAMP

  • YEAR, Y, YEARS, YRYRS: Az év mezője
  • YEAROFWEEK: Az ISO 8601 hétszámozási év, amelyben a dátumidő esik. A 2005-01-02 például a 2004- es év 53. hetének része, így az eredmény 2004
  • QUARTER, QTR: Annak az évnek a negyedéve (1-4), amelyben a dátumidő esik
  • MONTH, MON, MONS: MONTHSA hónap mező (1 – 12)
  • WEEK, , WWEEKS: Az ISO 8601 hét-hét alapú év száma. A hét úgy tekinthető, hogy hétfőn kezdődik, és az 1. hét az első hét >3 nappal. Az ISO hétszámozási rendszerében lehetséges, hogy a január eleje és a január eleje az előző év 52. vagy 53. hetének része lesz, a december végi dátumok pedig a következő év első hetének részei lesznek. A 2005-01-02 például a 2004-es év 53. hetének része, míg a 2012-12-31 2013 első hetének része
  • DAY, , DDAYS: A hónap napja mező (1 – 31)
  • DAYOFWEEK, DOW: A hét napja a vasárnap(1) és szombat (7) dátumidő esetén
  • DAYOFWEEK_ISO, DOW_ISO: A hét ISO 8601-alapú napja a hétfő(1) és a vasárnap (7) dátumidőhöz
  • DOY: Az év napja (1 - 365/366)
  • HOUR, H, HOURS, HRHRS: Az óra mező (0 – 23)
  • MINUTE, M, MIN, MINSMINUTES: A perc mező (0 – 59)
  • SECOND, S, SEC, SECONDSSECS: A másodperc mező, beleértve a törtrészeket is

A mikor source INTERVAL támogatott értékei field (a kis- és nagybetűk nem érzékenek):

  • YEAR, Y, YEARS, YRYRS: Az összes hónap / 12
  • MONTH, MON, MONS: MONTHSAz összes hónap % 12
  • DAY, , DDAYS: Az intervallum napjai
  • HOUR, H, HOURS, HRHRS: A mikroszekundumok hány órát tartalmaznak
  • MINUTE, M, MIN, MINSMINUTES: Hány perc maradt a mikroszekundumoktól órákig
  • SECOND, S, SEC, SECONDSSECS: Hány másodperc alatt maradt a törtrész a mikroszekundumtól számított órák és percek elteltével

Példák

> 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