2012-11-29 64 views
5

私の値をFLOATSとして保存したいのですが、それらを取得する際に、ユーザーは小数点以下の桁数を指定できます(実行時に変更できます)。指定された精度のFLOATを選択してください

何とか私のSELECTにそれを渡すことができますか、または私のアプリケーションでそれを行う必要がありますか?

答えて

8

はい、ちょうどあなたが返さ取得したい桁数を指定することができ、これによりROUND()

SELECT ROUND(23.298, <precision>); 

のための二番目のパラメータを指定します。 (負の値を持つことさえできますが、いずれの場合も入力は1(-precision)に丸められます)。

それとも、DECIMALとしてCASTを使用することができます。(注:これは、後者はCAST('2.5' AS DECIMAL(20,2))のように、あまりにもテキストの入力で動作しますが、この場合には、それはFLOAT入力についてです)

CAST(2.5 AS DECIMAL(20,2)) 

4

使用をROUND()CEIL()またはFLOOR()と同じことを行い、ユーザーから渡された2番目の引数の値を入力として取得します。

+0

+1、私はCEILとフロアを完全に忘れてしまった! – ppeterka

関連する問題