Fonction date_trunc

S’applique à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime

Retourne le timestamp tronqué à l’unité spécifiée dans unit.

Syntaxe

date_trunc(unit, expr)

Arguments

  • unit : un STRING littéral.
  • expr : A DATE, TIMESTAMP, ou STRING avec un format d’horodatage valide.

Retours

TIMESTAMP.

Notes

Les unités valides pour unit sont (sans respect de la casse) :

  • 'YEAR', 'YYYY', 'YY' : tronquer à la première date de l’année à laquelle le expr tombe, la partie heure sera nulle
  • 'QUARTER' : tronquer à la première date du trimestre à laquelle le expr tombe, la partie heure sera nulle
  • 'MONTH', 'MM', 'MON' : tronquer à la première date du mois dans laquelle le expr tombe, la partie heure sera nulle
  • 'WEEK' : tronquer au lundi de la semaine où le expr tombe, la partie heure sera nulle
  • 'DAY', 'DD' : zéro dans la partie heure
  • 'HOUR' : zéro pour les minutes et les secondes avec une partie fractionnaire
  • 'MINUTE' : zéro pour les secondes avec une partie fractionnaire
  • 'SECOND' : zéro pour la deuxième partie de la partie fractionnaire
  • 'MILLISECOND' : zéro pour les microsecondes
  • 'MICROSECOND' : tout reste

Si la valeur unit n’est pas bien formée, la fonction retourne NULL.

Exemples

> 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