A extract
függvény
A következőkre vonatkozik: Databricks SQL 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étsource
kell kinyerni.source
: ADATE
,TIMESTAMP
vagyINTERVAL
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
,YR
YRS
: Az év mezőjeYEAROFWEEK
: 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 2004QUARTER
,QTR
: Annak az évnek a negyedéve (1-4), amelyben a dátumidő esikMONTH
,MON
,MONS
:MONTHS
A hónap mező (1 – 12)WEEK
, ,W
WEEKS
: 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észeDAY
, ,D
DAYS
: A hónap napja mező (1 – 31)DAYOFWEEK
,DOW
: A hét napja a vasárnap(1) és szombat (7) dátumidő eseténDAYOFWEEK_ISO
,DOW_ISO
: A hét ISO 8601-alapú napja a hétfő(1) és a vasárnap (7) dátumidőhözDOY
: Az év napja (1 - 365/366)HOUR
,H
,HOURS
,HR
HRS
: Az óra mező (0 – 23)MINUTE
,M
,MIN
,MINS
MINUTES
: A perc mező (0 – 59)SECOND
,S
,SEC
,SECONDS
SECS
: 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
,YR
YRS
: Az összes hónap / 12MONTH
,MON
,MONS
:MONTHS
Az összes hónap % 12DAY
, ,D
DAYS
: Az intervallum napjaiHOUR
,H
,HOURS
,HR
HRS
: A mikroszekundumok hány órát tartalmaznakMINUTE
,M
,MIN
,MINS
MINUTES
: Hány perc maradt a mikroszekundumoktól órákigSECOND
,S
,SEC
,SECONDS
SECS
: 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