我有这个要求,每个十进制值都是四舍五入的,所以我在SQL中使用了内置函数ROUND。
但我有这个要求,低于或等于.5的十进制值将不会四舍五入。我已对此进行过研究,但无法找到与我的关注相关的任何结果。
下面应该是预期的结果
SELECT ROUND(200.521231,0) --- 200.000000
SELECT ROUND(200.436231,0) --- 200.000000
SELECT ROUND(-200.436231,0) --- -200.000000
SELECT ROUND(200.621231,0) --- 201.000000
我正在使用MS-SQL Server
答案 0 :(得分:3)
琐碎的事情是:
SELECT ROUND(@x -0.1,0)
其中@x是您要舍入的十进制值
如果允许@x为负数:
SELECT IF( @x>0, ROUND(@x -0.1,0), ROUND(@x +0.1,0))