Funzione date_trunc

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

Restituisce il timestamp troncato all'unità specificata in unit.

Sintassi

date_trunc(unit, expr)

Argomenti

  • unit: valore STRING letterale.
  • expr: oggetto DATE, TIMESTAMPo STRING con un formato timestamp valido.

Valori restituiti

Un oggetto TIMESTAMP.

Note

Le unità valide per unit sono (senza distinzione tra maiuscole e minuscole):

  • 'YEAR', 'YYYY', 'YY': tronca alla prima data dell'anno in cui rientra expr , la parte temporale sarà zero out
  • 'QUARTER': tronca alla prima data del trimestre in cui cade expr , la parte temporale sarà zero out
  • 'MONTH', 'MM', 'MON': tronca alla prima data del mese in cui rientra expr , la parte temporale sarà zero out
  • 'WEEK': tronca al lunedì della settimana in cui cade expr , la parte temporale sarà zero out
  • 'DAY', 'DD': zero out la parte relativa al tempo
  • 'HOUR': zero out il minuto e il secondo con parte frazionaria
  • 'MINUTE': zero il secondo con parte frazionaria
  • 'SECOND': zero la seconda parte frazionaria
  • 'MILLISECOND': zero i microsecondi
  • 'MICROSECOND': tutto rimane

Se l'oggetto unit non è ben formato, la funzione restituisce NULL.

Esempi

> SELECT date_trunc('YEAR', '2015-03-05T09:32:05.359');
 2015-01-01 00:00:00

> SELECT date_trunc('MM', '2015-03-05T09:32:05.359');
 2015-03-01 00:00:00

> SELECT date_trunc('DD', '2015-03-05T09:32:05.359');
 2015-03-05 00:00:00

> SELECT date_trunc('HOUR', '2015-03-05T09:32:05.359');
 2015-03-05 09:00:00

> SELECT date_trunc('MILLISECOND', '2015-03-05T09:32:05.123456');
 2015-03-05 09:32:05.123

-- Not a recognised unit
> SELECT date_trunc('MS', '2015-03-05T09:32:05.123456');
 NULL