PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment Trunc() fonctionne dans PostgreSQL

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