我希望将我的值存储为FLOATS,但是在检索它们时,用户可以指定(并在运行时更改)他希望在小数点后看到的位数。
我可以以某种方式在我的SELECT
中传递,或者我是否必须在我的应用程序中执行此操作?
答案 0 :(得分:11)
是的,只需指定ROUND()
SELECT ROUND(23.298, <precision>);
使用此功能,您可以指定要返回的位数。 (你甚至可以得到负值,在这种情况下,输入被舍入到10 ( - precision))。
CAST(2.5 AS DECIMAL(20,2))
(注意:后者也适用于文本输入,如CAST('2.5' AS DECIMAL(20,2))
,但在这种情况下,它与FLOAT输入有关)
答案 1 :(得分:4)
使用ROUND()
,CEIL()
或FLOOR()
执行相同的操作,并将第二个参数的值作为输入从用户传递。