date_part
Functie
Van toepassing op: Databricks Databricks Runtime
Extraheert een deel van de datum, tijdstempel of interval.
Syntaxis
date_part(fieldStr, expr)
Argumenten
fieldStr
: EenSTRING
letterlijke.expr
: EenDATE
,TIMESTAMP
ofINTERVAL
expressie.
Retourneert
Als fieldStr
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 Jaar'YEAROFWEEK'
: 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 2004'QUARTER'
,'QTR'
: Het kwartaal (1 - 4) van het jaar waarin de datum/tijd valt'MONTH'
,'MON'
,'MONS'
,'MONTHS'
: Het maandveld (1 - 12)'WEEK'
,'W'
,'WEEKS'
: Het nummer van de ISO 8601 week-van-week-gebaseerd-jaar. Een week begint 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 eind december deel uitmaken van de eerste week van het volgende jaar. Zo maakt 2005-01-02 deel uit van de 53e week van het jaar 2004, terwijl 31-12-2012 deel uitmaakt van de eerste week van 2013'DAY'
,'D'
,'DAYS'
: De dag van het maandveld (1 - 31)'DAYOFWEEK'
,'DOW'
: De dag van de week voor datum/tijd als zondag(1) tot en met zaterdag(7)'DAYOFWEEK_ISO'
,'DOW_ISO'
: ISO 8601 op basis van de dag van de week voor datum/tijd als 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 breuken
Ondersteunde waarden van field
wanneer source
zijn INTERVAL
(niet hoofdlettergevoelig):
'YEAR'
,'Y'
,'YEARS'
,'YR'
, :'YRS'
Het totaal aantal maanden / 12'MONTH'
,'MON'
,'MONS'
,'MONTHS'
: het totale aantal maanden % 12'DAY'
,'D'
,'DAYS'
: het dagengedeelte van het interval'HOUR'
,'H'
,'HOURS'
,'HR'
, :'HRS'
hoeveel uur de microseconden bevat'MINUTE'
,'M'
,'MIN'
,'MINS'
, :'MINUTES'
hoeveel minuten er nog over zijn na uren van microseconden'SECOND'
,'S'
,'SEC'
,'SECONDS'
, :'SECS'
hoeveel seconden met breuken nog over zijn na uren en minuten van microseconden
De date_part
functie is een synoniem voor de sql-standaardextractfunctie.
Is bijvoorbeeld date_part('year', CURRENT_DATE)
gelijk aan extract(YEAR FROM CURRENT_DATE)
Voorbeelden
> SELECT date_part('YEAR', TIMESTAMP'2019-08-12 01:00:00.123456');
2019
> SELECT date_part('Week', TIMESTAMP'2019-08-12 01:00:00.123456');
33
> SELECT date_part('day', DATE'2019-08-12');
224
> SELECT date_part('SECONDS', TIMESTAMP'2019-10-01 00:00:01.000001');
1.000001
> SELECT date_part('Months', INTERVAL '2-11' YEAR TO MONTH);
11
> SELECT date_part('seconds', INTERVAL '5:00:30.001' HOUR TO SECOND);
30.001000