SELECT CAST (330/60 AS FLOAT) AS result
或
SELECT CONVERT(FLOAT, 330/60) AS result
实际上我期待结果为5.5
但它正在返回5. 为什么?
并告诉我任何解决方案,以结果为5.5
答案 0 :(得分:5)
使用60.0
强制定点类型:
SELECT CAST (330/60.0 AS FLOAT) AS result
SELECT CONVERT(FLOAT, 330/60.0) AS result
330/60
的计算是以整数形式完成的,它将对结果进行舍入。之后你就投了漂浮。您可以直接使用数字类型,也不需要强制转换:
SELECT 330/60.0 AS result
答案 1 :(得分:2)
您应该尝试将分母转换为浮动然后进行除法,而不是将答案转换为浮点数
Select 330/CAST(60 as float) as result
或者更改分母以包含juergen d
建议的小数部分 SELECT CAST (330/60.0 AS FLOAT) AS result