Funzione date_part
Si applica a: Databricks SQL Databricks Runtime
Estrae una parte della data, da data e ora o dell'intervallo.
Sintassi
date_part(fieldStr, expr)
Argomenti
fieldStr
: un valore letteraleSTRING
.expr
: espressioneDATE
,TIMESTAMP
oINTERVAL
.
Valori restituiti
Se fieldStr
è 'SECOND'
, un oggetto DECIMAL(8, 6)
.
In tutti gli altri casi, un oggetto INTEGER
.
Valori supportati di field
quando source
è DATE
o TIMESTAMP
:
'YEAR'
'YEARS'
,'Y'
, ,'YR'
'YRS'
: campo anno'YEAROFWEEK'
: anno di numerazione della settimana ISO 8601 in cui rientra il valore datetime. Ad esempio, 2005-01-02 fa parte della 53a settimana dell'anno 2004, quindi il risultato è 2004'QUARTER'
,'QTR'
: trimestre (1 - 4) dell'anno in cui rientra il valore datetime'MONTH'
'MONS'
,'MON'
, , :'MONTHS'
campo mese (1 - 12)'WEEK'
,'W'
, :'WEEKS'
numero dell'anno basato su settimana ISO 8601. Una settimana viene considerata come avviata il lunedì e la settimana 1 è la prima settimana con >3 giorni. Nel sistema di numerazione delle settimane ISO, è possibile che le date di inizio gennaio facciano parte della 52 o della 53a settimana dell'anno precedente e per le date di fine dicembre per far parte della prima settimana dell'anno successivo. Ad esempio, 2005-01-02 fa parte della 53a settimana dell'anno 2004, mentre il 2012-12-31 fa parte della prima settimana del 2013'DAY'
,'D'
,'DAYS'
: giorno del campo del mese (1 - 31)'DAYOFWEEK'
,'DOW'
: giorno della settimana per datetime come Domenica(1) a Sabato(7)'DAYOFWEEK_ISO'
,'DOW_ISO'
: giorno basato su ISO 8601 della settimana per datetime come lunedì(1) a domenica(7)'DOY'
: giorno dell'anno (1 - 365/366)'HOUR'
,'H'
,'HR'
, , :'HRS'
campo ora (0'HOURS'
- 23)'MINUTE'
,'M'
,'MINS'
, , :'MINUTES'
campo minuti (0'MIN'
- 59)'SECOND'
'SEC'
,'S'
,'SECONDS'
'SECS'
: campo secondi, incluse le parti frazionarie
Valori supportati di field
quando source
è INTERVAL
(senza distinzione tra maiuscole e minuscole):
'YEAR'
'YEARS'
,'Y'
,'YR'
,'YRS'
: i mesi totali / 12'MONTH'
'MONS'
,'MON'
, , :'MONTHS'
il totale dei mesi % 12'DAY'
,'D'
, :'DAYS'
parte dei giorni dell'intervallo'HOUR'
'HOURS'
,'H'
,'HR'
,'HRS'
: numero di ore contenute nei 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)
, equivale 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