MySQL累计最近5美分

时间:2012-10-26 06:31:10

标签: mysql

我需要使用MySQL将值向上舍入为5美分(0.05)的增量。它必须总是围捕。示例:

0.01 - > 0.05

2.12 - > 2.15

0.16 - > 0.20

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

3 个答案:

答案 0 :(得分:2)

由于100/5 = 20,我们所做的只是乘以20,向上舍入到最接近的整数,然后除以20.

(要在MySQL中使用CEIL)

$ 1.03的示例:

1.03 * 20   = 20.60
CEIL(20.60) = 21.0000
21 / 20     = 1.0500

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

SELECT ROUND( CEIL( (old_price) * 20) / 20, 2) FROM table

答案 1 :(得分:1)

尝试使用这个 -

SELECT (<value> DIV 0.05) * 0.05 + IF(<value> MOD 0.05 = 0, 0, 0.05)

答案 2 :(得分:0)

SELECT floor((<value> + 0.025) * 20) / 20