Convertir a decimal en MySQL

Mehvish Ashiq 20 junio 2023
  1. Utilice CAST() con la función DECIMAL(M,D) para convertir a decimal en MySQL
  2. Utilice CONVERT() con la función DECIMAL(M,D) para convertir a decimal en MySQL
Convertir a decimal en MySQL

A veces, es posible que necesitemos convertir un tipo de datos en otro. Así es como podemos convertir a decimal en MySQL usando las funciones CAST() y CONVERT() con DECIMAL(M,D).

Utilice CAST() con la función DECIMAL(M,D) para convertir a decimal en MySQL

Podemos usar la función CAST() para convertir un tipo de datos a otro. A menudo se usa con las cláusulas HAVING, WHERE y JOIN.

Código de ejemplo:

SELECT CAST(15 AS DECIMAL(4,2)) AS Decimal_Value;

Producción :

+---------------+
| Decimal_Value |
+---------------+
|        15.00  |
+---------------+
1 row in set (0.00 sec)

Convertimos de un int a un decimal considerando la consulta anterior. Recuerde, debemos especificar la precisión y la escala para convertir al tipo de datos decimal.

Usamos la función DECIMAL(M,D), que toma dos parámetros. El primer parámetro denota precisión y el segundo representa la escala.

La precisión denota el número significativo de dígitos, mientras que la escala muestra el número de dígitos que podemos tener (almacenar) después del punto decimal.

En el ejemplo anterior, 4 es la precisión y 2 es la escala. También podemos mencionar el nombre de la columna en lugar de escribir 15.

Según la documentación de MySQL, M debe ser mayor o igual que D al usar FLOAT(M,D), DECIMAL(M,D) o DOUBLE(M,D) . Por ejemplo, la siguiente consulta M es 2, y D es 4, que no cumple la condición M>=D y genera un error.

SELECT CAST(15 AS DECIMAL(2,4)) AS Decimal_Value;

Recuerda siempre que la sintaxis de DECIMAL(M,0) es equivalente a la de DECIMAL(M). De manera similar, la sintaxis decimal es equivalente a DECIMAL(M) y DECIMAL(M,0), donde el valor predeterminado de M es 10.

Todas las siguientes consultas producen el mismo resultado.

Código de ejemplo:

SELECT CAST(15 AS DECIMAL(4,0)) AS Decimal_Value;
SELECT CAST(15 AS DECIMAL(4)) AS Decimal_Value;
SELECT CAST(15 AS DECIMAL) AS Decimal_Value;

Salida (para las tres consultas anteriores):

+---------------+
| Decimal_Value |
+---------------+
|            15 |
+---------------+
1 row in set (0.00 sec)

Utilice CONVERT() con la función DECIMAL(M,D) para convertir a decimal en MySQL

También podemos usar CONVERT() con la función DECIMAL(M,D) para convertir de int a decimal. Esto es similar a la función CAST() discutida anteriormente.

Código de ejemplo:

SELECT CONVERT(15, DECIMAL(4,2)) AS Decimal_Value;

Producción :

+---------------+
| Decimal_Value |
+---------------+
|         15.00 |
+---------------+
1 row in set (0.00 sec)
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Artículo relacionado - MySQL Decimal