Uso de las funciones round y truncate en SQL
En el mundo de la programación y el análisis de datos, SQL (Structured Query Language) es un lenguaje de programación indispensable para la manipulación y gestión de bases de datos. Una de las funciones más utilizadas en SQL son round y truncate, que permiten redondear o truncar valores numéricos según ciertas especificaciones.
En este artículo, profundizaremos en el uso de estas dos funciones y cómo pueden ser implementadas en tus consultas SQL.
Antes de sumergirnos en el mundo de round y truncate, es importante entender las diferencias entre redondear y truncar un número. Redondear un número implica aproximarlo al número entero más cercano, mientras que truncar un número significa eliminar todas las cifras decimales y dejar únicamente la parte entera.
Función ROUND
La función round en SQL se encarga de redondear un número según la cantidad de decimales especificada. Su sintaxis es la siguiente:
ROUND (número, cantidad_de_decimales)
Donde "número" es el valor numérico que se desea redondear, y "cantidad_de_decimales" es el número de decimales al que se desea redondear. Por ejemplo, si queremos redondear el número 3.145 a dos decimales, la consulta sería la siguiente:
Cómo crear vistas en MySQL
SELECT ROUND(3.145, 2);
El resultado de esta consulta sería 3.15, ya que se ha redondeado a dos decimales.
Es importante mencionar que si se omite el segundo parámetro de la función round, se redondeará el número ingresado a su entero más cercano. Por ejemplo, si queremos redondear el número 3.6, la consulta sería:
SELECT ROUND(3.6);
El resultado sería 4, ya que se ha redondeado a su entero más cercano.
Es posible también utilizar valores negativos en la cantidad de decimales, lo que permitiría redondear el número a la izquierda del punto decimal. Por ejemplo, si queremos redondear el número 351.49 a la decena más cercana, la consulta sería:
SELECT ROUND(351.49, -1);
El resultado sería 350, ya que el parámetro negativo indica que se redondeará a la decena más cercana.
Función TRUNCATE
La función truncate en SQL se utiliza para truncar o eliminar las cifras decimales de un número. Su sintaxis es la siguiente:
Comandos más usados en SQL y que debes conocerTRUNCATE (número, cantidad_de_decimales)
Donde "número" es el valor que se desea truncar y "cantidad_de_decimales" es el número de decimales que se desean eliminar. Por ejemplo, si queremos truncar el número 3.145 a dos decimales, la consulta sería la siguiente:
SELECT TRUNCATE(3.145, 2);
El resultado de esta consulta sería 3.14, ya que se han eliminado las cifras decimales manteniendo únicamente dos. Es importante mencionar que, a diferencia de la función round, truncate simplemente elimina las cifras decimales sin redondear el número.
Una de las principales diferencias entre round y truncate es su comportamiento en cuanto a números negativos. Mientras que round redondea el número al entero más cercano, truncate elimina únicamente las cifras decimales. Por ejemplo, si tenemos el número -14.563 y queremos truncar a un decimal, la función round devolverá -15, mientras que la función truncate devolverá -14.5.
Ejemplo paso a paso del uso de estas funciones
Ahora que tenemos un mejor entendimiento de round y truncate, veamos un ejemplo de cómo estas funciones pueden ser utilizadas en una consulta SQL.
Supongamos que tenemos una tabla llamada "productos" que contiene información sobre diferentes productos en un supermercado. Queremos realizar una consulta que nos muestre el precio de cada producto redondeado a dos decimales, y a su vez, nos muestre también el precio truncado a un decimal.
Primero, utilizaremos la función round:
Uso de cursores en MySQLSELECT nombre_producto, ROUND(precio, 2) AS precio_redondeado FROM productos;
Esta consulta nos mostrará el nombre del producto junto con su precio redondeado a dos decimales. Ahora, para agregar la columna con el precio truncado, podemos utilizar la función truncate de la siguiente manera:
SELECT nombre_producto, ROUND(precio, 2) AS precio_redondeado, TRUNCATE(precio, 1) AS precio_truncado FROM productos;
El resultado de esta consulta se vería así:
| nombre_producto | precio_redondeado | precio_truncado |
---------------------------------------------------------
| Leche | 3.49 | 3.4 |
| Huevos | 2.99 | 2.9 |
Cómo hacer un Left Join en SQL| Pan | 1.65 | 1.6 |
| Aceite | 5.79 | 5.7 |
Como se puede observar, la columna "precio_redondeado" nos muestra el precio con dos decimales, mientras que la columna "precio_truncado" nos muestra el precio con un decimal.
Otro aspecto importante a tener en cuenta al utilizar estas funciones es su efecto en los cálculos matemáticos. Por ejemplo, si queremos calcular el promedio de los precios redondeados y truncados, podemos hacerlo de la siguiente manera:
SELECT AVG(ROUND(precio, 2)) AS promedio_redondeado, AVG(TRUNCATE(precio, 1)) AS promedio_truncado FROM productos;
El resultado de esta consulta sería:
| promedio_redondeado | promedio_truncado |
------------------------------------------
| 3.48 | 3.3 |
Como se puede ver, el promedio redondeado a dos decimales es ligeramente mayor que el promedio truncado a un decimal. Esto se debe a que la función round redondea los valores antes de calcular el promedio, mientras que la función truncate simplemente los elimina.
Comentarios finales
En resumen, tanto round como truncate son funciones importantes y útiles en el mundo de SQL, ya que nos permiten manipular y presentar los datos de una manera más precisa y efectiva.
Ahora que tienes una mejor comprensión de estas funciones, puedes utilizarlas en tus consultas para obtener resultados más precisos y adaptados a tus necesidades.
¡Explora y experimenta con round y truncate en tus consultas SQL y lleva tus habilidades a otro nivel!
Deja una respuesta