Fonction date_trunc
S’applique à : Databricks SQL
Databricks Runtime
Retourne le timestamp tronqué à l’unité spécifiée dans unit
.
Syntaxe
date_trunc(unit, expr)
Arguments
unit
: unSTRING
littéral.expr
: ADATE
,TIMESTAMP
, ouSTRING
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 leexpr
tombe, la partie heure sera nulle'QUARTER'
: tronquer à la première date du trimestre à laquelle leexpr
tombe, la partie heure sera nulle'MONTH'
,'MM'
,'MON'
: tronquer à la première date du mois dans laquelle leexpr
tombe, la partie heure sera nulle'WEEK'
: tronquer au lundi de la semaine où leexpr
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