Dans PostgreSQL, le trunc()
fonction tronque un nombre.
Plus précisément, il tronque le nombre vers zéro ou vers un nombre spécifique de décimales.
Syntaxe
Le trunc()
La fonction peut être utilisée de l'une des manières suivantes :
trunc(dp or numeric)
trunc(v numeric, s int)
La première syntaxe tronque le nombre vers zéro.
La deuxième syntaxe le tronque à un nombre spécifié de décimales. Dans ce cas, v
est le nombre, et s
est le nombre de décimales.
Exemple de première syntaxe
Voici un exemple qui utilise la première syntaxe.
SELECT trunc(342.49);
Résultat :
342
Exemple de deuxième syntaxe
Voici un exemple qui utilise la seconde syntaxe.
SELECT trunc(342.49, 1);
Résultat :
342.4
Ajouter des fractions de seconde
Voici un exemple de spécification d'un nombre de décimales lorsque le nombre n'en inclut aucune.
SELECT trunc(342, 3);
Résultat :
342.000
Nombres négatifs
Voici un exemple qui utilise un nombre négatif.
SELECT round(-4.5);
Résultat :
-5
Décimales négatives
Voici ce qui se passe lorsque le deuxième argument est une valeur négative.
SELECT trunc(342, -2);
Résultat :
300
Trunc() vs Round()
Dans certains cas, le trunc()
la fonction peut sembler fonctionner de la même manière que round()
. Mais ce sont des fonctions bien différentes.
Le round()
fonction arrondit le nombre. Le nombre est arrondi à l'entier le plus proche ou au nombre de décimales spécifié (selon que vous lui donnez un ou deux arguments).
Le trunc()
fonction d'autre part tronque simplement le nombre vers zéro ou à la décimale spécifiée. Aucun arrondi n'est effectué.
Voici un exemple pour démontrer la différence.
SELECT
round(342.49, 1),
trunc(342.49, 1);
Résultat :
round | trunc -------+------- 342.5 | 342.4