Cómo redondear y truncar números decimales en SQL

SQL ofrece varias funciones para manejar números decimales. En este artículo, explicaremos detalladamente cómo redondear, truncar y elevar números decimales utilizando sus respectivas funciones, junto con ejemplos específicos de uso.

Índice

Cómo redondear usando la función ROUND

La función ROUND de SQL redondea un número al número de decimales especificado. La sintaxis básica de esta función es la siguiente:

Sintaxis básica

ROUND(número, número_de_decimales)
  • número: El número a redondear.
  • número_de_decimales: El número de decimales al cual redondear.

Ejemplo de uso

En el siguiente ejemplo, el número 3.4567 se redondea a 2 decimales.

SELECT ROUND(3.4567, 2);  -- Resultado: 3.46

Además, al especificar un valor negativo, es posible redondear la parte entera.

SELECT ROUND(345.67, -1);  -- Resultado: 350

De esta manera, utilizando la función ROUND, es sencillo redondear números.

Cómo truncar usando la función TRUNCATE

La función TRUNCATE de SQL se utiliza para truncar un número al número de decimales especificado. La sintaxis básica de esta función es la siguiente:

Sintaxis básica

TRUNCATE(número, número_de_decimales)
  • número: El número a truncar.
  • número_de_decimales: El número de decimales al cual truncar.

Ejemplo de uso

En el siguiente ejemplo, el número 3.4567 se trunca a 2 decimales.

SELECT TRUNCATE(3.4567, 2);  -- Resultado: 3.45

Además, al especificar un valor negativo, es posible truncar la parte entera.

SELECT TRUNCATE(345.67, -1);  -- Resultado: 340

Utilizando la función TRUNCATE, es posible eliminar las partes innecesarias de los decimales y manejar los números con la precisión requerida.

Cómo truncar usando la función FLOOR

La función FLOOR de SQL trunca un número al entero más cercano que no sea mayor que el número especificado. La sintaxis básica de esta función es la siguiente:

Sintaxis básica

FLOOR(número)
  • número: El número a truncar.

Ejemplo de uso

En el siguiente ejemplo, el número 3.4567 se trunca a la parte entera.

SELECT FLOOR(3.4567);  -- Resultado: 3

También puede aplicarse a números negativos.

SELECT FLOOR(-3.4567);  -- Resultado: -4

Utilizando la función FLOOR, es posible truncar completamente los decimales y obtener solo la parte entera. Esto es muy útil cuando es necesario truncar.

Cómo redondear hacia arriba usando la función CEIL

La función CEIL (o CEILING) de SQL redondea un número al entero más cercano que no sea menor que el número especificado. La sintaxis básica de esta función es la siguiente:

Sintaxis básica

CEIL(número)
  • número: El número a redondear hacia arriba.

Ejemplo de uso

En el siguiente ejemplo, el número 3.4567 se redondea hacia arriba a la parte entera.

SELECT CEIL(3.4567);  -- Resultado: 4

También puede aplicarse a números negativos.

SELECT CEIL(-3.4567);  -- Resultado: -3

Utilizando la función CEIL, es posible redondear completamente los decimales hacia arriba y obtener el siguiente entero. Esto es muy útil cuando es necesario redondear hacia arriba.

Ejemplo práctico: Uso en datos de transacciones

El manejo de números decimales es muy importante en la práctica, como en los datos de transacciones. A continuación, se presentan ejemplos específicos de cómo aplicar las funciones ROUND, TRUNCATE, FLOOR y CEIL a los datos de transacciones.

Redondeo de cantidades de transacciones

Para mostrar las cantidades de las transacciones redondeadas, se utiliza la función ROUND.

SELECT 
    transacción_ID, 
    ROUND(cantidad, 2) AS cantidad_redondeada
FROM 
    tabla_de_transacciones;

Esta consulta muestra la cantidad en la tabla de transacciones redondeada a 2 decimales.

Truncamiento del monto del impuesto

Para calcular el monto del impuesto y truncar el resultado, se utiliza la función TRUNCATE.

SELECT 
    transacción_ID, 
    TRUNCATE(impuesto, 0) AS impuesto_truncado
FROM 
    tabla_de_transacciones;

Esta consulta muestra el monto del impuesto truncado a la parte entera.

Truncamiento de la cantidad después del descuento

Para truncar la cantidad después del descuento a la parte entera, se utiliza la función FLOOR.

SELECT 
    transacción_ID, 
    FLOOR(cantidad * tasa_de_descuento) AS cantidad_truncada_después_descuento
FROM 
    tabla_de_transacciones;

Esta consulta muestra la cantidad después del descuento truncada a la parte entera.

Redondeo hacia arriba del costo de envío

Para redondear hacia arriba el costo de envío a la parte entera, se utiliza la función CEIL.

SELECT 
    transacción_ID, 
    CEIL(costo_envío) AS costo_envío_redondeado_hacia_arriba
FROM 
    tabla_de_transacciones;

Esta consulta muestra el costo de envío redondeado hacia arriba a la parte entera.

Utilizando estas funciones, es posible manejar eficazmente el procesamiento de números en los datos de transacciones.

Conclusión

SQL ofrece funciones como ROUND, TRUNCATE, FLOOR y CEIL para redondear, truncar y elevar números decimales. Al aplicar estas funciones en situaciones específicas, es posible manejar con eficacia la precisión de los datos numéricos. En la práctica, el uso de estas funciones permite procesar datos de transacciones y resultados de cálculos de manera precisa, logrando una gestión confiable de los datos.

Índice