Funzione date_part

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

Estrae una parte della data, del timestamp o dell'intervallo.

Sintassi

date_part(fieldStr, expr)

Argomenti

  • fieldStr: valore STRING letterale.
  • expr: espressione DATE, TIMESTAMPo INTERVAL .

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