Un decimal(9,6)
memorizza 6 cifre sul lato destro della virgola. Se visualizzare o meno gli zeri finali è una decisione di formattazione, generalmente implementata sul lato client.
Ma poiché SSMS formatta float
senza zeri finali, puoi rimuovere gli zeri finali eseguendo il cast del decimal
a un float
:
select
cast(123.4567 as DECIMAL(9,6))
, cast(cast(123.4567 as DECIMAL(9,6)) as float)
stampe:
123.456700 123,4567
(Il mio separatore decimale è una virgola, ma SSMS formatta il decimale con un punto. Apparentemente un problema noto .)