Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL FLOOR

La función `FLOOR` de PostgreSQL es una función matemática utilizada para devolver el mayor entero menor o igual que un valor numérico especificado. Se suele utilizar en situaciones en las que es necesario redondear hacia abajo al número entero más próximo.

Utilización

La función `FLOOR` se utiliza normalmente cuando necesitas despreciar la parte fraccionaria de un número y obtener su parte entera para cálculos o análisis de datos. Es especialmente útil en cálculos financieros o en la gestión de índices. `FLOOR` forma parte de las funciones matemáticas SQL estándar de PostgreSQL, lo que garantiza su fiabilidad y normalización.

FLOOR(numeric_expression)

En esta sintaxis, `expresión_numérica` es el número para el que quieres encontrar el mayor entero menor o igual que él. Los tipos de datos compatibles con `expresión_numérica` son `doble precisión`, `numérico` y otros tipos numéricos.

Ejemplos

1. Uso básico

SELECT FLOOR(4.75);

En este ejemplo, la función devuelve `4`, ya que es el mayor número entero menor o igual que `4,75`.

2. Utilizar FLOOR con números negativos

SELECT FLOOR(-3.14);

Aquí, la función devuelve `-4`, ya que `-4` es el mayor entero menor que `-3,14`.

3. Aplicar FLOOR en una consulta de tabla

SELECT product_id, FLOOR(price) AS rounded_price
FROM products;

Esta consulta recupera el ID de cada producto y su precio redondeado al entero más próximo, útil para crear listas de precios simplificadas.

Consejos y buenas prácticas

  • Garantiza el tipo de dato numérico. Utiliza `FLOOR` en tipos de datos numéricos para evitar errores inesperados o conversiones de tipo.
  • Combínalo con otras funciones. Utiliza `FLOOR` en combinación con otras funciones matemáticas como `CEIL` o `ROUND` para cálculos complejos.
  • Ten en cuenta el rendimiento. Cuando utilices `FLOOR` en grandes conjuntos de datos, asegúrate de que no se convierte en un cuello de botella para el rendimiento, especialmente en las sentencias SELECT.
  • Ten en cuenta los aspectos negativos. Recuerda que `FLOOR` disminuirá el valor entero para los números negativos, lo que puede diferir de lo esperado.
  • Impacto en las columnas indexadas. Ten en cuenta que utilizar `FLOOR` en columnas indexadas puede afectar a la optimización y al rendimiento de las consultas.