由于新年度的变化导致英国增值税税率,一些客户需要将其网站更新为新的增值税率。由于价格全部存储在MySQL表格中(不含增值税),在大多数网站的后端更改实际增值税税率是一个简单的标志,但这会留下“丑陋”的价格10.87英镑,而不是10.99英镑。
我想对价格进行查询以改变价格,以便所有新价格(当增加新的增值税税率时)都是“好”价格而不是丑价。
例如:
当前价格(不含税):£8.50
当前价格(增值税@ 17.5%):£9.99
新价格(增值税@ 20%):£10.20
期望价格(增值税@ 20%):10.99英镑
答案 0 :(得分:3)
UPDATE products SET price = (CEIL(price*1.20)-0.01)/1.20 WHERE product_id = 123
答案 1 :(得分:1)
如果你总是喜欢.99的价格,它应该很容易做到:
update articles set price = round((ceil(8.50 * 1.2) - 0.01) / 1.2, 2);
证明:
mysql> select round((ceil(8.50 * 1.2) - 0.01) / 1.2, 2) as price;
+-------+
| price |
+-------+
| 9.16 |
+-------+
1 row in set (0.00 sec)
答案 2 :(得分:1)
虽然增加增值税来试图掩盖价格上涨对您的客户不诚实,但您可以使用类似CEIL(将小数点四舍五入到最接近的整数),然后 - 0.01。