En PostgreSQL, el floor()
La función se utiliza para redondear un número al entero más cercano.
Es básicamente lo opuesto a ceiling()
, que redondea un número hacia arriba .
También es similar a round()
, excepto que solo se redondea hacia abajo. El round()
la función redondeará hacia arriba o hacia abajo según sea necesario.
Sintaxis
La sintaxis es así:
floor(dp or numeric)
Donde dp
indica double precision
.
El tipo de devolución es el mismo que el tipo de entrada.
Ejemplo
Aquí hay un ejemplo para demostrar su uso.
SELECT floor(3.99);
Resultado:
3
En este caso, los segundos fraccionarios son 99 y el número se redondea al entero más cercano.
Como era de esperar, obtengo el mismo resultado si reduzco las fracciones de segundo para decir, 15.
SELECT floor(3.15);
Resultado:
3
Números negativos
Aquí hay un ejemplo que usa números negativos.
SELECT
floor(-3.99),
floor(-3.15);
Resultado:
floor | floor -------+------- -4 | -4
Suelo() vs Redondo()
Aquí hay un ejemplo que ilustra la diferencia entre floor()
y round()
.
SELECT
floor(3.99),
round(3.99);
Resultado:
floor | round -------+------- 3 | 4
Sin embargo, si reduzco las fracciones de segundo por debajo de 50, ambos devuelven el mismo resultado.
SELECT
floor(3.49),
round(3.49);
Resultado:
floor | round -------+------- 3 | 3
Piso() vs Techo()
Postgres también tiene un ceiling()
función, que es similar a floor()
excepto que siempre redondea el número hacia arriba .
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