我正在寻找下面的值
10.5 -> 11.00
28.35 -> 28.50
17.85 -> 18.00
条件是否是值< 50然后舍入到.50否则它将舍入到1。
我如何在SQL中应用。
答案 0 :(得分:2)
尝试这个逻辑:
SELECT
value AS old_value,
CASE WHEN value < 50
THEN CEILING(value*2) / 2
ELSE CEILING(value) END AS new_value
FROM yourTable;
在审核您的评论后,我实际上支持此查询中的逻辑。以下是我在测试时生成的结果:
请注意10.5
映射到自身,而不是11.0
。这样做的原因是您已将0.5
级别定义为舍入的停止间隔。将其他数字舍入到最近的0.5,
并停在那里是没有意义的,但10.5
应该继续11.0
。