sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo funciona Ceiling() en PostgreSQL

En PostgreSQL, el ceiling() La función se utiliza para redondear un número al entero más cercano.

Es similar a round() , excepto que solo se redondea hacia arriba. El round() la función redondeará hacia arriba o hacia abajo según sea necesario.

También es similar a floor() , excepto que floor() redondea hacia abajo en lugar de arriba.

Sintaxis

El ceiling() La función se puede utilizar de cualquiera de las siguientes formas:

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

Donde dp indica double precision .

El tipo de devolución es el mismo que el tipo de entrada.

Ambas sintaxis funcionan exactamente igual. La primera sintaxis es simplemente una forma más concisa de hacerlo.

Ejemplo

Aquí hay un ejemplo para demostrar su uso.

SELECT ceiling(12.10);

Resultado:

13

En este caso, los segundos fraccionarios son 10 y el número se redondea al entero más cercano.

Probablemente no hace falta decirlo, pero si aumento las fracciones de segundo a 50, todavía se redondea.

SELECT ceiling(12.70);

Resultado:

13

Números negativos

Aquí hay un ejemplo que usa números negativos.

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

Resultado:

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

Ceil() vs Techo()

Como se mencionó, ceil() y ceiling() son equivalentes.

Aquí hay un ejemplo que muestra ambas sintaxis una al lado de la otra.

SELECT 
  ceil(12.10),
  ceiling(12.10);

Resultado:

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

Techo() vs Redondo()

Si hubiera estado usando round() , el 12.10 el valor se habría redondeado hacia abajo (porque las fracciones de segundo son menos de 50).

Aquí hay un ejemplo que ilustra la diferencia entre ceiling() y round() .

SELECT 
  ceiling(12.10),
  round(12.10);

Resultado:

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

Sin embargo, si aumento las fracciones de segundo a 50, ambos devuelven el mismo resultado.

SELECT 
  ceiling(12.50),
  round(12.50);

Resultado:

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

Techo() vs Suelo()

Postgres también tiene un floor() función, que es similar a ceiling() excepto que siempre redondea el número hacia abajo .

Aquí hay un ejemplo que muestra ambas sintaxis una al lado de la otra.

SELECT 
  ceiling(12.80),
  floor(12.80);

Resultado:

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

Y aquí hay un ejemplo que usa valores negativos.

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

Resultado:

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