extract
Functie
Van toepassing op: Databricks Databricks Runtime
Retourneert field
van source
.
Syntaxis
extract(field FROM source)
Argumenten
field
: Een trefwoord waarmee wordt geselecteerd welk deel vansource
moet worden geëxtraheerd.source
: EenDATE
,TIMESTAMP
of-expressieINTERVAL
.
Retourneert
Als field
is SECOND
, een DECIMAL(8, 6)
.
In alle andere gevallen wordt een INTEGER
.
Ondersteunde waarden van field
wanneer source
is DATE
of TIMESTAMP
:
YEAR
,Y
,YEARS
,YR
, :YRS
het veld JaarYEAROFWEEK
: Het ISO 8601 weeknummeringsjaar waarin de datum/tijd valt. 2005-01-02 maakt bijvoorbeeld deel uit van de 53e week van het jaar 2004, dus het resultaat is 2004QUARTER
,QTR
: Het kwartaal (1 - 4) van het jaar waarin de datum/tijd valtMONTH
,MON
,MONS
:MONTHS
Het maandveld (1 - 12)WEEK
,W
,WEEKS
: Het nummer van de ISO 8601 week-van-week-gebaseerd-jaar. Een week wordt beschouwd als start op een maandag en week 1 is de eerste week met >3 dagen. In het ISO-weeknummeringssysteem is het mogelijk dat datums van begin januari deel uitmaken van de 52e of 53e week van het vorige jaar en dat datums van eind december deel uitmaken van de eerste week van het volgende jaar. 2005-01-02 maakt bijvoorbeeld deel uit van de 53e week van het jaar 2004, terwijl 2012-12-31 deel uitmaakt van de eerste week van 2013DAY
,D
,DAYS
: Het veld dag van de maand (1 - 31)DAYOFWEEK
,DOW
: De dag van de week voor datum/tijd als zondag(1) tot zaterdag(7)DAYOFWEEK_ISO
,DOW_ISO
: OP ISO 8601 gebaseerde dag van de week voor datum/tijd van maandag(1) tot zondag(7)DOY
: De dag van het jaar (1 - 365/366)HOUR
,H
,HOURS
,HR
, :HRS
Het uurveld (0 - 23)MINUTE
,M
,MIN
,MINS
, :MINUTES
het minutenveld (0 - 59)SECOND
,S
,SEC
,SECONDS
, :SECS
het secondenveld, inclusief breukonderdelen
Ondersteunde waarden van field
wanneer source
zijn INTERVAL
(niet hoofdlettergevoelig):
YEAR
,Y
,YEARS
,YR
, :YRS
het totaal aantal maanden / 12MONTH
,MON
,MONS
,MONTHS
: totaal maanden % 12DAY
,D
,DAYS
: het dagengedeelte van het intervalHOUR
,H
,HOURS
,HR
, :HRS
hoeveel uur de microseconden bevatMINUTE
,M
,MIN
,MINS
,MINUTES
: hoeveel minuten er nog over zijn na uren van microsecondenSECOND
,S
,SEC
,SECONDS
, :SECS
hoeveel seconden met breuken nog over na het nemen van uren en minuten van microseconden
Voorbeelden
> 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