我正在寻找下面的值
10.5 -> 11.00
28.35 -> 28.50
17.85 -> 18.00
条件是如果值<50然后舍入到.50否则它将舍入为1。
我如何在SQL中应用。
试试这个逻辑:
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
。