Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fonction DATE_TRUNC
La fonction DATE_TRUNC tronque une expression d’horodatage ou littérale en fonction de la partie de date que vous spécifiez, telle que l’heure, le jour ou le mois.
Syntaxe
DATE_TRUNC('datepart', timestamp)
Arguments
- datepart
-
Partie de la date à laquelle tronquer la valeur d’horodatage. L’entrée timestamp est tronquée à la précision de l’entrée datepart. Par exemple,
month
tronque jusqu’au premier jour du mois. Les formats valides sont les suivants :microseconde, microsecondes
milliseconde, millisecondes
seconde, secondes
minute, minutes
heure, heures
jour, jours
semaine, semaines
mois
trimestre, trimestres
année, années
décennie, décennies
siècle, siècles
millénaire, millénaires
Pour plus d’informations sur les abréviations de certains formats, consultez Parties de date pour les fonctions de date ou d’horodatage.
- timestamp
-
Colonne timestamp ou expression qui convertit implicitement en un horodatage.
Type de retour
TIMESTAMP
Exemples
Tronquer l’horodatage en entrée à la seconde.
SELECT DATE_TRUNC('second', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:05:06
Tronquer l’horodatage en entrée à la minute.
SELECT DATE_TRUNC('minute', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:05:00
Tronquer l’horodatage en entrée à l’heure.
SELECT DATE_TRUNC('hour', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:00:00
Tronquer l’horodatage en entrée au jour.
SELECT DATE_TRUNC('day', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 00:00:00
Tronquer l’horodatage en entrée au premier jour du mois.
SELECT DATE_TRUNC('month', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-01 00:00:00
Tronquer l’horodatage en entrée au premier jour d’un trimestre.
SELECT DATE_TRUNC('quarter', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-01 00:00:00
Tronquer l’horodatage en entrée au premier jour de l’année.
SELECT DATE_TRUNC('year', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-01-01 00:00:00
Tronquer l’horodatage en entrée au premier jour d’un siècle.
SELECT DATE_TRUNC('millennium', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2001-01-01 00:00:00
Tronquez l’horodatage en entrée au lundi d’une semaine.
select date_trunc('week', TIMESTAMP '20220430 04:05:06.789');
date_trunc 2022-04-25 00:00:00
Dans l’exemple suivant, la fonction DATE_TRUNC utilise la partie de date ’week’ pour renvoyer la date du lundi de chaque semaine.
select date_trunc('week', saletime), sum(pricepaid) from sales where saletime like '2008-09%' group by date_trunc('week', saletime) order by 1;
date_trunc | sum ------------+------------- 2008-09-01 | 2474899 2008-09-08 | 2412354 2008-09-15 | 2364707 2008-09-22 | 2359351 2008-09-29 | 705249