Solución:
La forma más fácil, con mucho, ¡solo agregue cero!
Ejemplos:
SET
@yournumber1="1.500",
@yournumber2="23.030",
@yournumber3="2.000",
@yournumber4="4.450"
;
SELECT
(@yournumber1+0),
(@yournumber2+0),
(@yournumber3+0),
(@yournumber4+0)
;
+------------------+------------------+------------------+------------------+
| (@yournumber1+0) | (@yournumber2+0) | (@yournumber3+0) | (@yournumber4+0) |
+------------------+------------------+------------------+------------------+
| 1.5 | 23.03 | 2 | 4.45 |
+------------------+------------------+------------------+------------------+
1 row in set (0.00 sec)
Si la columna de la que proviene su valor es DECIMAL
o NUMERIC
escriba, luego conviértalo en una cadena para asegurarse de que la conversión se lleve a cabo … ej:
SELECT (CAST(`column_name` AS CHAR)+0) FROM `table_name`;
Para una forma más corta, simplemente use cualquier función de cadena incorporada para hacer el lanzamiento:
SELECT TRIM(`column_name`)+0 FROM `table_name`;
EDITAR: En su lugar, usaría la respuesta de Christopher McGowan a continuación, agregando 0 al valor, que es mejor.
Es importante comprobar que en realidad hay un punto decimal si está recortando.
Entonces creo que querrás usar:
SELECT TRIM(TRAILING '.' FROM TRIM(TRAILING '0' from yourfield)) AS yourfield
FROM yourtable
WHERE yourfield LIKE '%.%'
esto funcionó para mí .. redondee el campo a 2 lugares decimales y luego recorte los ceros finales
Entonces 2.10 es 2.1
SELECT trim(round(FIELDNAME,2))+0
FROM tbl_name
....
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)