SQLでの10進数の丸め問題

著者: Tamara Smith
作成日: 20 1月 2021
更新日: 4 J 2024
Anonim
【優しいIT】2進数、10進数、16進数と変換方法!コンピュータを理解しよう!
ビデオ: 【優しいIT】2進数、10進数、16進数と変換方法!コンピュータを理解しよう!

コンテンツ

SQL言語は、保存するテーブル列で特定の精度の小数桁数しか使用できない場合、自動的に数値を丸めます。 SQLの "round"関数を使用して精度の問題を解決することができます。この関数を使用すると、SQLがデータベーステーブルに数値を格納する方法を制御できます。


SQLで数を丸める方法を学ぶ (Hemera Technologies / AbleStock.com / Getty Images)

問題

テーブル内のデータを見ると、SQL丸め問題に気付くでしょう。表示される数値は、 "insert"コマンドで保存したものと同じではありません。 SQL列のデータ型により、小数点の精度を設定できます。小数点以下の桁数を2桁にして、3の数字を保存しようとすると、SQLによって値が丸められます。

テーブル構造

SQLテーブルエディタを使用して列のデータ型を変更できます。 SQL Serverに付属のMicrosoft SQL Server Management Studioでテーブルを編集できます。テーブルを右クリックして[修正]を選択します。小数点以下の桁数を増やして丸めの問題を修正するには、列データ・タイプ・リストで精度を選択してください。

ラウンド機能

テーブルのデータ型を変更したくない場合は、丸め機能を使用して数値格納動作を変更します。切り上げ、切り捨て、または関数に10進値の標準的な丸めを実行させる。たとえば、次のコードは切り上げます。

ラウンド(列、2、-1)

この関数は常に小数点以下2桁で四捨五入します。 "-1"パラメータを削除すると、SQLは標準的な丸めを実行します。つまり、値が "5"以上の場合は上方向に、値が小さい場合は下方向に丸めます。

検討事項

SQLで丸め動作を変更するときは、丸められた数の合計がある列も確認する必要があります。この列には不正確な値があるので、エラーを修正するには合計を再計算する必要があります。