我想在SQL Server中将-13422.8450
四舍五入为-13422.84
.
但是使用ROUND(-13422.8450, 2)
就是返回-13422.85
以下是完整的查询:
SELECT ROUND(CAST(-1 * 50 * 26845.69 / 100 AS NUMERIC(13, 4)), 2)
我想在SQL Server中将-13422.8450
四舍五入为-13422.84
.
但是使用ROUND(-13422.8450, 2)
就是返回-13422.85
以下是完整的查询:
SELECT ROUND(CAST(-1 * 50 * 26845.69 / 100 AS NUMERIC(13, 4)), 2)
将第三个非零值参数添加到ROUND
函数;该函数将截断而不是舍入:
SELECT ROUND(-13422.8450, 2)
-- -13422.8500
SELECT ROUND(-13422.8450, 2, 1)
-- -13422.8400
需要注意的是,在调用ROUND函数之前,从NUMERIC到NUMERIC的强制转换将使结果变为round.在您的示例中,您需要舍入(截断),then强制转换.