Convertir a decimal en MySQL
-
Utilice
CAST()
con la funciónDECIMAL(M,D)
para convertir a decimal en MySQL -
Utilice
CONVERT()
con la funciónDECIMAL(M,D)
para 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)