Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

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.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis