Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Rimuovere gli zeri finali dal decimale in SQL Server

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 .)