Catégories :

Fonctions de date et d’heure

TRUNC

Tronque une date, une heure ou un horodatage de la partie spécifiée. Par exemple, si vous tronquez un horodatage jusqu’au quart, cela renvoie l’horodatage correspondant à minuit du premier jour du trimestre de l’horodatage d’origine.

Fournit une syntaxe alternative pour DATE_TRUNC (inverse les deux arguments).

Note

Cette fonction est surchargée ; elle peut également être utilisée comme une fonction numérique pour arrondir les expressions numériques à l’unité inférieure.

Syntaxe

TRUNC( <date_or_time_expr>, <date_or_time_part> )

Arguments

Renvoie

La fonction retourne toujours une DATE.

La date est complète (année, mois et jour). La troncature ne supprime pas le mois et le jour ; en revanche, elle les définit à la date la plus proche de la période spécifiée. Par exemple, TRUNC(TO_DATE('2013-08-05'), 'QUARTER') renvoie la première date du troisième trimestre de l’année 2013, à savoir le 1er juillet 2013.

Notes sur l’utilisation

Exemples

Les exemples ci-dessous montrent une troncature de date. Notez que dans tous les cas, le résultat est une date complète, comprenant le mois et le jour, mais la date la plus ancienne de la période spécifiée par expr_date_ou_heure et partie_date_ou_heure.

select trunc(to_date('2013-05-08'), 'MONTH');
+---------------------------------------+
| TRUNC(TO_DATE('2013-05-08'), 'MONTH') |
|---------------------------------------|
| 2013-05-01                            |
+---------------------------------------+
select trunc(to_date('2013-05-08'), 'QUARTER');
+-----------------------------------------+
| TRUNC(TO_DATE('2013-05-08'), 'QUARTER') |
|-----------------------------------------|
| 2013-04-01                              |
+-----------------------------------------+
select trunc(to_date('2013-05-08'), 'YEAR');
+--------------------------------------+
| TRUNC(TO_DATE('2013-05-08'), 'YEAR') |
|--------------------------------------|
| 2013-01-01                           |
+--------------------------------------+