date_part
Funzione
Si applica a: controllo SQL databricks Databricks Runtime
Estrae una parte della data, del timestamp o dell'intervallo.
Sintassi
date_part(fieldStr, expr)
Argomenti
fieldStr
: valoreSTRING
letterale.expr
: oggettoDATE
,TIMESTAMP
oINTERVAL
espressione.
Restituisce
Se fieldStr
è 'SECOND'
, un DECIMAL(8, 6)
oggetto .
In tutti gli altri casi, un INTEGER
oggetto .
Valori supportati di field
quando source
è DATE
o TIMESTAMP
:
'YEAR'
'YEARS'
,'Y'
,'YR'
:'YRS'
Campo anno'YEAROFWEEK'
: l'anno di numerazione della settimana ISO 8601 in cui cade datetime. Ad esempio, il 2005-01-02 fa parte della 53a settimana dell'anno 2004, quindi il risultato è 2004'QUARTER'
,'QTR'
: trimestre (1 - 4) dell'anno in cui il datetime rientra'MONTH'
,'MON'
,'MONS'
, :'MONTHS'
campo mese (1 - 12)'WEEK'
, ,'W'
:'WEEKS'
numero dell'anno basato su ISO 8601 settimana. Una settimana viene considerata l'inizio di un lunedì e della settimana 1 è la prima settimana con >3 giorni. Nel sistema di numerazione settimana ISO è possibile che le date di inizio gennaio facciano parte del 52° o 53° settimana dell'anno precedente e per le date di fine dicembre fanno parte della prima settimana dell'anno successivo. Ad esempio, il 2005-01-02 fa parte della prima settimana dell'anno 2004, mentre il 2012-12-31 fa parte della prima settimana del 2013'DAY'
, ,'D'
'DAYS'
: giorno del campo mese (1 - 31)'DAYOFWEEK'
,'DOW'
: giorno della settimana per datetime come domenica(1) a sabato(7)'DAYOFWEEK_ISO'
,'DOW_ISO'
: iso 8601 giorno di base della settimana per datetime come lunedì(1) a domenica(7)'DOY'
: giorno dell'anno (1 - 365/366)'HOUR'
'HOURS'
,'H'
,'HR'
:'HRS'
campo ora (0 - 23)'MINUTE'
'MIN'
,'M'
,'MINS'
:'MINUTES'
Campo minuti (0 - 59)'SECOND'
'SEC'
,'S'
,'SECONDS'
'SECS'
: Campo secondi, incluse le parti frazionarie
Valori supportati di field
quando source
sono INTERVAL
(senza distinzione tra maiuscole e minuscole):
'YEAR'
'YEARS'
,'Y'
, , ,'YR'
:'YRS'
i mesi totali / 12'MONTH'
,'MON'
, ,'MONS'
:'MONTHS'
il totale dei mesi % 12'DAY'
, ,'D'
'DAYS'
: i giorni parte dell'intervallo'HOUR'
'HOURS'
,'H'
,'HR'
:'HRS'
quanti ore contengono i microsecondi'MINUTE'
'MIN'
,'M'
,'MINS'
:'MINUTES'
quanti minuti sono rimasti dopo l'assunzione di ore da microsecondi'SECOND'
'SEC'
,'S'
,'SECONDS'
:'SECS'
numero di secondi con frazioni lasciate dopo l'assunzione di ore e minuti da microsecondi
La date_part
funzione è un sinonimo della funzione di estrazione standard SQL.
Ad esempio date_part('year', CURRENT_DATE)
, è equivalente a extract(YEAR FROM CURRENT_DATE)
Esempi
> 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