2012-06-20 3 views
8

浮動小数点数の精度を設定するには、浮動小数点数に変換されるSQL intについてはどうすればよいですか?SQLの浮動小数点精度の設定

AVG(Cast(e.employee_level as Float))avg_level, 

ありがとう:

これは、私は2つのまたは3桁まで切り捨てしたいの選択です!

答えて

22

TSQLでは、float,24または53の2つの異なるサイズを指定できます。これにより、精度がそれぞれ7または15桁に設定されます。

あなたがしたいすべてはすなわち、あなたがROUNDを使用することができ、小数点以下の桁のセット数に切り捨てている場合は、次の一般的なルールとして

ROUND(AVG(CAST(e.employee_level as float)), 3) 
+2

24または53以外のnにfloat(n)を使用すると、24または53のいずれかに切り上げられます – Bort

1

、あなたは後の桁数を指定することはできません浮動小数点数の小数点。浮動小数点データ型は、任意の値に最も近い浮動小数点近似を格納します。最も近い浮動小数点近似は、あなたが望む桁数を持つ可能性は低いです。 3桁目以降のすべての桁を非表示にすることは可能ですが、値そのものではなく、値の外観のみが変更されます。

整数は別の話です。浮動小数点データ型に格納、変換、またはキャストされた整数は、正確に大きな範囲に格納されます。浮動小数点データ型は、整数の分数単位を格納する必要はありません。私がお勧めしたい

、あなたのためのベストプラクティスは、あなたが小数単位、または

  • キャスト10進数に整数または数値を必要としない場合は、浮動小数点の整数をキャスト

    • 避けるためにあることをいえの場合には小数点以下の桁数が必要です。
    • は、アプリケーションコード内での表示に関する問題をすべて処理します。
  • 関連する問題