Funktionen extract
Gäller för: Databricks SQL Databricks Runtime
field
Returnerar source
för .
Syntax
extract(field FROM source)
Argument
-
field
: Ett nyckelord som väljer vilken del avsource
som ska extraheras. -
source
: EttDATE
,TIMESTAMP
ellerINTERVAL
-uttryck.
Returer
Om field
är SECOND
, en DECIMAL(8, 6)
.
I alla andra fall är en INTEGER
.
Värden som stöds för field
när source
är DATE
eller TIMESTAMP
:
-
YEAR
,Y
,YEARS
,YR
,YRS
: Fältet År -
YEAROFWEEK
: Det ISO 8601-veckonumreringsår som datumtiden infaller i. Till exempel är 2005-01-02 en del av den 53:e veckan år 2004, så resultatet är 2004 -
QUARTER
,QTR
: Kvartalet (1–4) av året som datetime infaller i -
MONTH
,MON
,MONS
,MONTHS
: Månadsfältet (1–12) -
WEEK
,W
,WEEKS
: Antalet ISO 8601 veckobaserade år. En vecka anses starta på en måndag och vecka 1 är den första veckan med >3 dagar. I ISO:s veckonumreringssystem är det möjligt att datum i början av januari är en del av den 52:a eller 53:e veckan föregående år och att datumen för slutet av december är en del av den första veckan nästa år. Till exempel är 2005-01-02 en del av den 53:e veckan år 2004, medan 2012-12-31 är en del av den första veckan 2013 -
DAY
,D
,DAYS
: Fältet dag i månaden (1–31) -
DAYOFWEEK
,DOW
: Veckodagen för datetime som söndag(1) till lördag(7) -
DAYOFWEEK_ISO
,DOW_ISO
: ISO 8601 baserad dag i veckan för datetime som måndag(1) till söndag(7) -
DOY
: Dagen på året (1 - 365/366) -
HOUR
,H
,HOURS
,HR
,HRS
: Timfältet (0–23) -
MINUTE
,M
,MIN
,MINS
,MINUTES
: Fältet minuter (0–59) -
SECOND
,S
,SEC
,SECONDS
,SECS
: Fältet sekunder, inklusive bråkdelar
Värden som stöds för field
när source
är är INTERVAL
(skiftlägesokänsliga):
-
YEAR
,Y
,YEARS
,YR
,YRS
: Totalt antal månader/12 -
MONTH
,MON
,MONS
,MONTHS
: De totala månaderna % 12 -
DAY
,D
,DAYS
: Dagarnas del av intervallet -
HOUR
,H
,HOURS
,HR
,HRS
: Hur många timmar mikrosekunderna innehåller -
MINUTE
,M
,MIN
,MINS
,MINUTES
: Hur många minuter kvar efter att ha tagit timmar från mikrosekunder -
SECOND
,S
,SEC
,SECONDS
,SECS
: Hur många sekunder med bråk kvar efter att ha tagit timmar och minuter från mikrosekunder
Om du vill returnera förkortningen med tre bokstäver för veckodagen använder du funktionen dayname.
Exempel
> 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