MySQL обновляет денежные значения, чтобы быть «дружественным к потребителю» - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть поле в базе данных mysql, которое содержит цены для магазина. В результате некоторых математических расчетов (налог и т. Д.) Многие числа заканчиваются на «недружественные» суммы, в основном 0,93 или 0,94, когда клиент хочет, чтобы все цены заканчивались на 0,95

Может ли выполнить обновление, чтобы заставить .95 быть значением после десятичного знака для каждой записи? Будет ли это регулярным выражением, или я могу сделать это как LIKE?

1 Ответ

2 голосов
/ 01 февраля 2012

TRUNCATE , ROUND , CEIL и FLOOR сделает это.

mysql> SELECT 
    TRUNCATE(1.93, 0)+0.95  AS `TRUNCATE`,
    ROUND( 1.93) -0.05  AS `ROUND`,
    CEIL(1.93) - 0.05 AS `CEIL`,
    FLOOR(1.93)+0.95 AS `FLOOR`;

+----------+-------+------+-------+
| TRUNCATE | ROUND | CEIL | FLOOR |
+----------+-------+------+-------+
|     1.95 |  1.95 | 1.95 |  1.95 |
+----------+-------+------+-------+
...