値を FLOATS として保存したいのですが、値を取得するときに、ユーザーは小数点以下の桁数を指定 (および実行時に変更) できます。
どういうわけかそれを渡すことができますSELECT
か、それともアプリケーションでそれを行う必要がありますか?
値を FLOATS として保存したいのですが、値を取得するときに、ユーザーは小数点以下の桁数を指定 (および実行時に変更) できます。
どういうわけかそれを渡すことができますSELECT
か、それともアプリケーションでそれを行う必要がありますか?
はい、2 番目のパラメータを指定するだけですROUND()
SELECT ROUND(23.298, <precision>);
これにより、返される桁数を指定できます。(負の値を指定することもできます。この場合、入力は 10 (-precision)に丸められます)。
CAST(2.5 AS DECIMAL(20,2))
(注: この後者は のようなテキスト入力でも機能しますCAST('2.5' AS DECIMAL(20,2))
が、この場合は FLOAT 入力に関するものです)
を使用ROUND()
するCEIL()
かFLOOR()
、同じことを行い、ユーザーから渡された 2 番目の引数の値を入力として取得します。