Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Supprimer les zéros de fin de la décimale dans SQL Server

Un decimal(9,6) enregistre 6 chiffres à droite de la virgule. Afficher ou non les zéros de fin est une décision de formatage, généralement mise en œuvre côté client.

Mais puisque SSMS formate float sans zéros de fin, vous pouvez supprimer les zéros de fin en jetant le decimal à 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

(Mon séparateur décimal est une virgule, mais SSMS formate la décimale avec un point. Apparemment, un problème connu .)