Maison > base de données > tutoriel mysql > Comment puis-je supprimer les zéros de fin des valeurs décimales dans SQL Server ?

Comment puis-je supprimer les zéros de fin des valeurs décimales dans SQL Server ?

Barbara Streisand
Libérer: 2025-01-14 13:42:44
original
298 Les gens l'ont consulté

How Can I Remove Trailing Zeros from Decimal Values in SQL Server?

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal