RAK*_*KAR 0 sql-server sql-server-2005 sql-server-2008
SELECT CAST (330/60 AS FLOAT) AS result
Run Code Online (Sandbox Code Playgroud)
要么
SELECT CONVERT(FLOAT, 330/60) AS result
Run Code Online (Sandbox Code Playgroud)
其实我期待5.5的结果
但它正在回归5. 为什么?
并告诉我任何解决方案,以获得5.5的结果
使用60.0强制定点类型:
SELECT CAST (330/60.0 AS FLOAT) AS result
SELECT CONVERT(FLOAT, 330/60.0) AS result
Run Code Online (Sandbox Code Playgroud)
计算330/60以整数形式完成,这将对结果进行舍入.之后你就投了漂浮.您可以直接使用数字类型,也不需要强制转换:
SELECT 330/60.0 AS result
Run Code Online (Sandbox Code Playgroud)