Mysql 增值税变更-如何变更增值税,然后将价格四舍五入
由于英国增值税税率将在新的一年发生变化,一些客户将需要根据新的增值税税率更新其网站。由于价格都存储在MySQL表中(不包括增值税),因此更改实际增值税税率是大多数网站后端的一个简单标志,但这会导致“丑陋”的价格为10.87英镑,而不是10.99英镑 我想对价格进行查询以改变价格,以便所有新价格(当添加新的增值税税率时)都是“好”的价格,而不是丑陋的价格 例如: 当前价格(不含增值税):8.50英镑 现行价格(增值税17.5%):9.99英镑 新价格(增值税税率为20%):10.20英镑Mysql 增值税变更-如何变更增值税,然后将价格四舍五入,mysql,rounding,Mysql,Rounding,由于英国增值税税率将在新的一年发生变化,一些客户将需要根据新的增值税税率更新其网站。由于价格都存储在MySQL表中(不包括增值税),因此更改实际增值税税率是大多数网站后端的一个简单标志,但这会导致“丑陋”的价格为10.87英镑,而不是10.99英镑 我想对价格进行查询以改变价格,以便所有新价格(当添加新的增值税税率时)都是“好”的价格,而不是丑陋的价格 例如: 当前价格(不含增值税):8.50英镑 现行价格(增值税17.5%):9.99英镑 新价格(增值税税率为20%):10.20英镑 理想价格
理想价格(增值税税率为20%):10.99英镑如果你总是喜欢0.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)
赞成竞争性的价格,你也可以考虑而不考虑;p> 如果你总是喜欢.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)
赞成竞争性的价格,你也可以考虑而不考虑;p> 尽管试图将价格上涨伪装成增值税上涨对客户来说是不诚实的,但您可以使用CEIL(将小数点四舍五入到最接近的整数),然后使用-0.01 尽管试图将价格上涨伪装成增值税上涨对客户来说是不诚实的,但您可以使用CEIL(将小数点四舍五入到最接近的整数),然后使用-0.01 消费者的悲哀——不仅要额外缴纳2.5%的税,还要增加7%的税,只是为了让数字看起来更漂亮;)当然,20%增值税的“好”价格仍然是“9.99英镑”。利用增值税增加额外79便士的利润(7.75%的价格上涨)既不好,也不可能不被现有客户注意到。这不是开发商的回应,但我们也是消费者:)哎哟,对于消费者来说——不仅是额外的2.5%的税收,而且还增加了7%,只是为了让这个数字看起来不错;)当然,20%增值税的“好”价格仍然是“9.99英镑”。利用增值税增加额外79便士的利润(7.75%的价格上涨)既不好,也不可能不被现有客户注意到。不是开发人员的回答,但我们也是消费者:)您必须再次除以1.2,因为数据库中存储的价格不含税。@andre您当然是对的。你评论的时候我已经修好了,马上。非常感谢。我(在星期四)试一试,然后确认已解决。您必须再次除以1.2,因为数据库中存储的价格不含税。@andre您当然是对的。你评论的时候我已经修好了,马上。非常感谢。我会在星期四试一试,然后确认问题是否解决。是的,我很感激它看起来是这样的,但你会发现大多数零售商在改变价格后会将价格保持在x.99英镑。我猜他们要么选择承担成本,要么将成本转嫁给他人。我理解其原因,但我仍然觉得这是不诚实的。不过,我给出了一个答案——你如何处理你的业务取决于你自己。我预计大多数小型零售商实际上会接受这一变化,就像去年增值税为15%时他们没有降价一样。对于10英镑的商品,利润率下降0.20英镑可能比让老客户感到不安更有利(说“我们正在冻结增值税”的营销好处)。我代表我们的客户工作,所以这最终是他们的决定。我同意你的观点。是的,我很感激这是看起来的样子,但你会发现大多数零售商在改变价格后会将价格保持在x.99英镑。我猜他们要么选择承担成本,要么将成本转嫁给他人。我理解其原因,但我仍然觉得这是不诚实的。不过,我给出了一个答案——你如何处理你的业务取决于你自己。我预计大多数小型零售商实际上会接受这一变化,就像去年增值税为15%时他们没有降价一样。对于10英镑的商品,利润率下降0.20英镑可能比让老客户感到不安更有利(说“我们正在冻结增值税”的营销好处)。我代表我们的客户工作,所以这最终是他们的决定。我同意你的观点。
UPDATE products SET price = (CEIL(price*1.20)-0.01)/1.20 WHERE product_id = 123