增值税变更 - 如何更改增值税然后再提高价格

时间:2010-11-30 12:47:04

标签: mysql rounding

由于新年度的变化导致英国增值税税率,一些客户需要将其网站更新为新的增值税率。由于价格全部存储在MySQL表格中(不含增值税),在大多数网站的后端更改实际增值税税率是一个简单的标志,但这会留下“丑陋”的价格10.87英镑,而不是10.99英镑。

我想对价格进行查询以改变价格,以便所有新价格(当增加新的增值税税率时)都是“好”价格而不是丑价。

例如:

当前价格(不含税):£8.50

当前价格(增值税@ 17.5%):£9.99

新价格(增值税@ 20%):£10.20

期望价格(增值税@ 20%):10.99英镑

3 个答案:

答案 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)

支持有竞争力的价格,您也可以考虑floor(x)而不是ceil(x);)

答案 2 :(得分:1)

虽然增加增值税来试图掩盖价格上涨对您的客户不诚实,但您可以使用类似CEIL(将小数点四舍五入到最接近的整数),然后 - 0.01。