MySQL 向上取整至最接近的 5 美分

ste*_*ian 0 mysql

我需要使用 MySQL 将值四舍五入到 5 美分 (0.05) 的增量。它必须总是四舍五入。例子:

0.01 -> 0.05

2.12 -> 2.15

0.16 -> 0.20

我怎样才能做到这一点。我用 ceil() 和 round() 尝试了一些东西,但似乎我可以从 MySQL 专家那里获得一些帮助。

pau*_*guy 6

由于 100/5 = 20,我们所做的就是乘以 20,四舍五入到最接近的整数,然后除以 20。

(要在 MySQL 中进行汇总,请使用 CEIL)

1.03 美元的示例:

1.03 * 20   = 20.60
CEIL(20.60) = 21.0000
21 / 20     = 1.0500
Run Code Online (Sandbox Code Playgroud)

注意:我还将整个语句四舍五入到小数点后两位,只是为了删除任何尾随零。

SELECT ROUND( CEIL( (old_price) * 20) / 20, 2) FROM table
Run Code Online (Sandbox Code Playgroud)