sql >> Base de Datos >  >> RDS >> Sqlserver

Eliminar ceros finales de decimal en SQL Server

Un decimal(9,6) almacena 6 dígitos en el lado derecho de la coma. Mostrar ceros finales o no es una decisión de formato, generalmente implementada en el lado del cliente.

Pero dado que SSMS formatea float sin ceros finales, puede eliminar los ceros finales convirtiendo el decimal a 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, pero SSMS formatea decimal con un punto. Aparentemente un problema conocido .)