Funzione extract
Si applica a: Databricks SQL
Databricks Runtime
Restituisce field
di source
.
Sintassi
extract(field FROM source)
Argomenti
-
field
: parola chiave che seleziona quale parte disource
deve essere estratta. -
source
: espressioneDATE
,TIMESTAMP
oINTERVAL
.
Valori restituiti
Se field
è SECOND
, DECIMAL(8, 6)
.
In tutti gli altri casi, un INTEGER
.
Valori supportati di field
quando source
è DATE
o TIMESTAMP
:
-
YEAR
,Y
,YEARS
,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
,MON
,MONS
,MONTHS
: campo mese (1 - 12) -
WEEK
,W
,WEEKS
: Il numero della settimana nell'anno basato sulla 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
: campo del giorno del mese (1 - 31) -
DAYOFWEEK
,DOW
: giorno della settimana per datetime come domenica(1) fino a sabato(7) -
DAYOFWEEK_ISO
,DOW_ISO
: giorno della settimana basato su ISO 8601 per datetime, da lunedì(1) a domenica(7) -
DOY
: giorno dell'anno (1 - 365/366) -
HOUR
,H
,HOURS
,HR
: il campo ora (0HRS
- 23) -
MINUTE
,M
,MIN
,MINS
,MINUTES
: Il campo minuti (0 - 59) -
SECOND
S
,SEC
,SECONDS
SECS
: il campo secondi, incluse le parti frazionarie
I valori supportati di field
quando source
è INTERVAL
sono (senza distinzione tra maiuscole e minuscole):
-
YEAR
Y
,YEARS
,YR
,YRS
: i mesi totali / 12 -
MONTH
,MON
,MONS
:MONTHS
il totale dei mesi % 12 -
DAY
,D
,DAYS
: la parte dei giorni dell'intervallo -
HOUR
H
,HOURS
,HR
,HRS
: numero di ore contenute nei microsecondi -
MINUTE
M
,MIN
MINS
MINUTES
: quanti minuti sono rimasti dopo aver sottratto le ore dai microsecondi -
SECOND
,S
,SEC
,SECONDS
,SECS
: quanti secondi, con frazioni, restano dopo aver sottratto ore e minuti dai microsecondi
Per restituire l'acronimo di tre lettere per il giorno della settimana, utilizzare la funzione dayname.
Esempi
> 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