Condividi tramite


Funzione extract

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Restituisce field di source.

Sintassi

extract(field FROM source)

Argomenti

  • field: parola chiave che seleziona quale parte di source deve essere estratta.
  • source: espressione DATE, TIMESTAMPo INTERVAL .

Valori restituiti

Se field è SECOND, un oggetto DECIMAL(8, 6). In tutti gli altri casi, un oggetto INTEGER.

Valori supportati di field quando source è DATE o TIMESTAMP:

  • YEAR Y, YEARS, , YRYRS: 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, , : MONTHScampo mese (1 - 12)
  • WEEK, W, : WEEKSnumero 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, HOURS, , : HRcampo ora (0 HRS- 23)
  • MINUTE, M, MIN, , : MINScampo minuti (0 MINUTES- 59)
  • SECOND S, SEC, SECONDSSECS: 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, , : MONTHSil totale dei mesi % 12
  • DAY, D, : DAYSparte dei giorni dell'intervallo
  • HOUR H, HOURS, HR, HRS: numero di ore contenute nei microsecondi
  • MINUTE M, MIN, , MINSMINUTES: quanti minuti sono rimasti dopo l'assunzione di ore da microsecondi
  • SECOND S, SEC, SECONDSSECS: numero di secondi con frazioni lasciate dopo l'assunzione di ore e minuti da microsecondi

Per restituire l'acronimo di tre lettere per il giorno della settimana, utilizzare la funzione nome giorno .

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