Comment supprimer les zéros à droite des valeurs décimales dans SQL Server
De nombreux utilisateurs de SQL Server rencontrent un problème courant : les zéros à droite dans les valeurs décimales. Par exemple, une colonne DECIMAL(9,6) conçue pour contenir une valeur telle que 999,123456 pourrait stocker 123,4567 sous la forme 123,456700.
Comprendre la précision décimale
Le type de données DECIMAL dans SQL Server stocke un nombre spécifique de chiffres après la virgule décimale, comme indiqué dans la notation (9,6). Cela signifie que la colonne peut contenir six chiffres à droite de la virgule décimale.
Explication des zéros à droite
Pour conserver la précision définie, des zéros à droite sont ajoutés aux valeurs décimales. Dans l'exemple ci-dessus, la valeur 123,4567 ne comporte que quatre chiffres après la virgule décimale, mais six sont obligatoires. Par conséquent, deux zéros à droite sont ajoutés à la fin.
Supprimer les zéros à droite
Pour supprimer les zéros à droite des valeurs décimales, vous pouvez utiliser la solution pour convertir les décimales en flottants :
<code class="language-sql">select cast(123.4567 as DECIMAL(9,6)) , cast(cast(123.4567 as float) as DECIMAL(9,4))</code>
Cette méthode profite du fait que les nombres à virgule flottante n'affichent pas de zéros à droite par défaut. Les zéros à droite sont effectivement supprimés en convertissant le nombre décimal en virgule flottante, puis de nouveau en décimal. Veuillez noter que le résultat final est converti en DECIMAL(9,4), en conservant le nombre de décimales valides.
Exemple de sortie
La requête ci-dessus produit le résultat suivant :
<code>123.456700 123.4567</code>
Dans cet exemple, le point (.) fait office de séparateur décimal. Notez que les valeurs décimales conservent leur précision d'origine, mais les zéros à droite ont été éliminés. Le choix d'une précision appropriée (par exemple DECIMAL(9,4)) est essentiel au résultat final afin d'éviter une perte de précision ou un arrondi inutile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!