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

Fonctionnement de Ceiling() dans PostgreSQL

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

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

C'est aussi similaire à floor() , sauf que floor() arrondit vers le bas au lieu de vers le haut.

Syntaxe

Le ceiling() La fonction peut être utilisée de l'une des manières suivantes :

ceil(dp or numeric)
ceiling(dp or numeric)

Où dp indique double precision .

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

Les deux syntaxes fonctionnent exactement de la même manière. La première syntaxe est simplement une façon plus concise de le faire.

Exemple

Voici un exemple pour démontrer son utilisation.

SELECT ceiling(12.10);

Résultat :

13

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

Cela va probablement sans dire, mais si j'augmente les fractions de seconde à 50, cela arrondit quand même.

SELECT ceiling(12.70);

Résultat :

13

Nombres négatifs

Voici un exemple qui utilise des nombres négatifs.

SELECT 
  ceiling(-12.10),
  ceiling(-12.90);

Résultat :

 ceiling | ceiling
---------+---------
     -12 | -12

Plafond() vs Plafond()

Comme mentionné, ceil() et ceiling() sont équivalents.

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

SELECT 
  ceil(12.10),
  ceiling(12.10);

Résultat :

 ceil | ceiling
------+---------
   13 | 13

Plafond() vs Rond()

Si j'avais utilisé round() , le 12.10 la valeur aurait été arrondie vers le bas (parce que les fractions de seconde sont inférieures à 50).

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

SELECT 
  ceiling(12.10),
  round(12.10);

Résultat :

 ceiling | round
---------+-------
      13 | 12

Cependant, si j'augmente les fractions de seconde à 50, elles renvoient toutes les deux le même résultat.

SELECT 
  ceiling(12.50),
  round(12.50);

Résultat :

 ceiling | round
---------+-------
      13 | 13

Plafond() vs Sol()

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

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