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

Comment Floor() fonctionne dans PostgreSQL

Dans PostgreSQL, le floor() La fonction est utilisée pour arrondir un nombre à l'entier inférieur le plus proche.

C'est fondamentalement l'opposé de ceiling() , qui arrondit un nombre up .

C'est aussi similaire à round() , sauf qu'il ne fait qu'arrondir à l'inférieur. Le round() la fonction arrondira ou vers le bas au besoin.

Syntaxe

La syntaxe ressemble à ceci :

floor(dp or numeric)

dp indique double precision .

Le type de retour est le même que le type d'entrée.

Exemple

Voici un exemple pour démontrer son utilisation.

SELECT floor(3.99);

Résultat :

3

Dans ce cas, les secondes fractionnaires sont 99 et le nombre est arrondi à l'entier inférieur le plus proche.

Sans surprise, j'obtiens le même résultat si je diminue les fractions de seconde pour dire 15.

SELECT floor(3.15);

Résultat :

3

Nombres négatifs

Voici un exemple qui utilise des nombres négatifs.

SELECT 
  floor(-3.99),
  floor(-3.15);

Résultat :

 floor | floor
-------+-------
    -4 | -4

Sol() vs Rond()

Voici un exemple qui illustre la différence entre floor() et round() .

SELECT 
  floor(3.99),
  round(3.99);

Résultat :

 floor | round
-------+-------
     3 | 4

Cependant, si je diminue les fractions de seconde en dessous de 50, elles renvoient toutes les deux le même résultat.

SELECT 
  floor(3.49),
  round(3.49);

Résultat :

 floor | round
-------+-------
     3 | 3

Plancher() vs Plafond()

Postgres a aussi un ceiling() fonction, qui est similaire à floor() sauf qu'il arrondit toujours le nombre vers le haut .

Voici un exemple qui montre les deux syntaxes côte à côte.

SELECT 
  ceiling(12.80),
  floor(12.80);

Résultat :

 ceiling | floor
---------+-------
      13 | 12

Et voici un exemple qui utilise des valeurs négatives.

SELECT 
  ceiling(-12.30),
  floor(-12.30);

Résultat :

 ceiling | floor
---------+-------
     -12 | -13