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 TRUNC
La fonction TRUNC tronque les nombres à l'entier ou à la décimale précédente.
La fonction TRUNC peut éventuellement inclure un second argument : un nombre entier permettant d'indiquer le nombre de décimales de l'arrondi, dans les deux sens. Lorsque vous ne fournissez pas le second argument, la fonction arrondit au nombre entier le plus proche. Lorsque le second argument >n est spécifié, la fonction arrondit au nombre le plus proche avec une précision de n décimales. Cette fonction tronque également un horodatage et renvoie une date.
Syntaxe
TRUNC (number [ , integer ] | timestamp )
Arguments
- number
-
Nombre ou expression ayant pour valeur un nombre. Il peut être de type DECIMAL ou FLOAT8. AWS Clean Rooms peut convertir d'autres types de données selon les règles de conversion implicites.
- integer (facultatif)
-
Nombre entier qui indique le nombre de décimales de précision, dans les deux sens. Si aucun nombre entier n’est fourni, le nombre est tronqué en tant que nombre entier ; si un nombre entier est spécifié, le nombre est tronqué à la décimale spécifiée.
- timestamp
-
La fonction peut également renvoyer la date à partir d'un horodatage. (Pour renvoyer une valeur d'horodatage avec
00:00:00
comme heure, envoyez le résultat de la fonction à un horodatage.)
Type de retour
TRUNC renvoie le même type de données que le premier argument d'entrée. Pour les horodatages, TRUNC renvoie une date.
Exemples
Tronque la commission payée pour une transaction de vente donnée.
select commission, trunc(commission) from sales where salesid=784; commission | trunc -----------+------- 111.15 | 111 (1 row)
Tronque la même valeur de commission que la première décimale.
select commission, trunc(commission,1) from sales where salesid=784; commission | trunc -----------+------- 111.15 | 111.1 (1 row)
Tronque la commission avec une valeur négative pour le second argument ; 111.15
est arrondi à 110
.
select commission, trunc(commission,-1) from sales where salesid=784; commission | trunc -----------+------- 111.15 | 110 (1 row)
Renvoyez la partie de date du résultat de la fonction SYSDATE (qui renvoie un horodatage) :
select sysdate; timestamp ---------------------------- 2011-07-21 10:32:38.248109 (1 row) select trunc(sysdate); trunc ------------ 2011-07-21 (1 row)
Appliquez la fonction TRUNC à une colonne TIMESTAMP. Le type de retour est une date.
select trunc(starttime) from event order by eventid limit 1; trunc ------------ 2008-01-25 (1 row)