MySQL を使用して値を 5 セント (0.05) 単位で切り上げる必要があります。常に切り上げる必要があります。例:
0.01 -> 0.05
2.12 -> 2.15
0.16 -> 0.20
どうすればこれを達成できますか。ceil() と round() でいくつか試してみましたが、MySQL の専門家の助けを借りることができるようです。
MySQL を使用して値を 5 セント (0.05) 単位で切り上げる必要があります。常に切り上げる必要があります。例:
0.01 -> 0.05
2.12 -> 2.15
0.16 -> 0.20
どうすればこれを達成できますか。ceil() と round() でいくつか試してみましたが、MySQL の専門家の助けを借りることができるようです。
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
SELECT floor((<value> + 0.025) * 20) / 20
これを使ってみてください -
SELECT (<value> DIV 0.05) * 0.05 + IF(<value> MOD 0.05 = 0, 0, 0.05)