SQL Server 10 進データから不要な末尾のゼロを削除する
SQL Server の DECIMAL
データ型 (例: DECIMAL(9,6)
) は、定義された精度と位取りで数値を格納します。 場合によっては、データの挿入中に末尾に余分なゼロが追加されることがあります。
問題: これらの余分な末尾のゼロを削除するにはどうすればよいですか?
解決策:
重要なのは、DECIMAL
値の末尾のゼロは、固有のデータ ストレージではなく、表示 の問題であることを理解することです。 データベースには値が保存されます。クライアント アプリケーションの形式によって、表示方法が決まります。 効果的な方法の 1 つは、データ型変換を活用することです。
DECIMAL
を FLOAT
データ型にキャストしてから DECIMAL
に戻すと、末尾のゼロが削除されます。 FLOAT
表現は通常、重要でないゼロを保持しません。
例:
<code class="language-sql">SELECT CAST(123.4567 AS DECIMAL(9,6)) AS OriginalDecimal, CAST(CAST(123.4567 AS FLOAT) AS DECIMAL(9,6)) AS TrimmedDecimal</code>
結果:
OriginalDecimal | TrimmedDecimal |
---|---|
123.456700 | 123.4567 |
これは、FLOAT
へのキャストと DECIMAL
へのキャストの戻りが、基になる数値を変更せずに効果的に末尾のゼロをトリミングする方法を示しています。 このアプローチでは、浮動小数点表現の性質により、特定のエッジ ケースで軽微な丸め誤差が発生する可能性があることに注意してください。 絶対的な精度を必要とする重要なアプリケーションの場合は、代替方法を検討する必要があります。
以上がSQL Server 10 進数値から末尾のゼロを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。