我在SQL数据库中有一些关于8.829291值的情况。
在这种情况下,如果我正在跑步:
select cast(ROUND(8.89291,0) as float)
输出为:9
我真正想要的是
输出为:8.9
如何获得该值?
请你们帮我吗?
答案 0 :(得分:4)
您的precision
为0,因此它给出了整个值。
select cast(round(8.89291, 1) as float)
答案 1 :(得分:3)
如果您愿意公开发布,则也不需要致电ROUND
。考虑强制转换为NUMERIC(10,1
):
SELECT CAST(8.89291 AS NUMERIC(10,1));
(用于SQL Server的演示程序,但以上内容也可以在许多其他数据库上运行)
答案 2 :(得分:1)
您已选择0
,这意味着float函数将被视为Integer
,因为float
必须输入1而不是0,请检查下一个。
select cast(ROUND(8.89291,1) as float)
答案 3 :(得分:1)
您可以使用
SELECT CAST(ROUND(8.89291,2) AS NUMERIC(12,1))
或
SELECT CAST(8.89291 AS NUMERIC(12,1))