Tengo una columna DECIMAL(9,6)
es decir, admite valores como 999,123456.
Pero cuando inserto datos como 123,4567 se convierte en 123,456700
¿Cómo puedo eliminar esos ceros?
Un decimal(9,6)
almacena 6 dígitos a la derecha de la coma. Mostrar o no los ceros finales es una decisión de formato, que suele implementarse en el lado del cliente.
Pero como SSMS formatea float
sin ceros al final, puede eliminar los ceros al final convirtiendo el decimal
en un float
:
select
cast(123.4567 as DECIMAL(9,6))
, cast(cast(123.4567 as DECIMAL(9,6)) as float)
imprime:
123.456700 123,4567
(Mi separador decimal es una coma, sin embargo SSMS formatea el decimal con un punto. Aparentemente es un problema conocido).
SELECT REVERSE(ROUND(REVERSE(2.5500),1))
imprime:
2.55