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.

Szintaxis

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.

Visszaváltások

Ha fieldSECOND, akkor egy DECIMAL(8, 6). Minden más esetben egy INTEGER.

A source következő értékeket támogatja, amikor DATE vagy TIMESTAMP: field

  • YEAR, Y, YEARS, YRYRS: Az év mezője
  • YEAROFWEEK: Az ISO 8601 hétszámozási éve, amelybe az időpont 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, W, WEEKS: Az ISO 8601 hét-alapú év heteinek száma. A hét úgy van meghatározva, hogy hétfőn kezdődik, és az 1. hét az az első hét, amely >3 nappal rendelkezik. Az ISO hétszámozási rendszerében lehetséges, hogy a korai januári dátumok az előző év 52. vagy 53. hetének részei legyenek, míg a késői decemberi dátumok 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 field támogatott értékei, amikor a(z) sourceINTERVAL van (kis- és nagybetű érzékenység nélkül):

  • 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, miután az órákat levontuk a mikroszekundumokból
  • SECOND, S, SEC, SECONDS, SECS: Hány másodperc és törtrész marad, miután az órák és a percek idejét levonjuk a mikroszekundumokból.

A hét napjára vonatkozó hárombetűs betűszó visszaadásához használja a dayname függvényt.

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