Saltar al contenido

Elimina los ceros finales en el valor decimal con cambio de longitud

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)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *