Función FLOOR() de MySQL
La función `FLOOR()` de MySQL se utiliza para devolver el mayor valor entero menor o igual que un número dado. Redondea un número de coma flotante al entero más próximo, tanto si es positivo como negativo.
Utilización
La función `FLOOR()` se utiliza habitualmente cuando necesitas truncar valores decimales a números enteros sin redondearlos. Esto puede ser útil en situaciones como el cálculo de descuentos o el manejo de la lógica basada en números enteros.
sql
FLOOR(number);
En esta sintaxis, `número` es la expresión numérica que quieres redondear hacia abajo. Puede ser una constante, un valor de columna o una expresión más compleja.
Ejemplos
1. Uso básico
sql
SELECT FLOOR(3.75);
Esta consulta devuelve `3`, ya que `FLOOR()` redondea 3,75 hacia abajo al número entero más próximo.
2. Utilizar FLOOR() con números negativos
sql
SELECT FLOOR(-4.2);
En este ejemplo, la función devuelve `-5`, ya que `-5` es el mayor número entero menor o igual que `-4,2`, lo que ilustra el concepto de redondeo a la baja con números negativos.
3. Aplicación de FLOOR() en una consulta de tabla
sql
SELECT product_name, FLOOR(price) AS discounted_price
FROM products;
Esta consulta selecciona el nombre de cada producto y aplica la función `FLOOR()` a la columna `precio`, mostrando efectivamente el componente entero de cada precio como `precio_descontado`.
4. Utilizar FLOOR() con números cero y grandes
sql
SELECT FLOOR(0), FLOOR(123456789.987);
Esta consulta demuestra que `FLOOR()` devuelve `0` para cero y `123456789` para un número grande, mostrando un comportamiento coherente en diferentes rangos de entrada.
5. Combinar FLOOR() con otras funciones
sql
SELECT FLOOR(ABS(-5.7) * 2);
Aquí se utiliza `FLOOR()` junto con `ABS()` para redondear hacia abajo el valor absoluto de `-5,7` multiplicado por `2`, lo que ilustra su uso en expresiones más complejas.
Consejos y buenas prácticas
- Utilízalo para cálculos con números enteros. `FLOOR()` es ideal para trabajar con enteros en cálculos, evitando redondeos inesperados.
- Ten en cuenta el rendimiento. Aunque `FLOOR()` suele ser eficaz, su uso en columnas calculadas o vistas puede requerir estrategias de indexación para un rendimiento óptimo.
- Sé consciente de los valores negativos. Ten en cuenta que `FLOOR()` puede producir resultados inesperados con números negativos debido a su comportamiento de redondeo hacia abajo.
- Combínalo con otras funciones. Utiliza `FLOOR()` con otras funciones como `ABS()` o `MOD()` para operaciones matemáticas más complejas.