我需要使用MySQL将值向上舍入为5美分(0.05)的增量。它必须总是围捕。示例:
0.01 - > 0.05
2.12 - > 2.15
0.16 - > 0.20
我怎样才能做到这一点。我用ceil()和round()尝试了一些东西,但似乎我可以使用MySQL专家的一些帮助。
答案 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