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