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

Cómo funciona Floor() en PostgreSQL

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