Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 增值税变更-如何变更增值税,然后将价格四舍五入_Mysql_Rounding - Fatal编程技术网

Mysql 增值税变更-如何变更增值税,然后将价格四舍五入

Mysql 增值税变更-如何变更增值税,然后将价格四舍五入,mysql,rounding,Mysql,Rounding,由于英国增值税税率将在新的一年发生变化,一些客户将需要根据新的增值税税率更新其网站。由于价格都存储在MySQL表中(不包括增值税),因此更改实际增值税税率是大多数网站后端的一个简单标志,但这会导致“丑陋”的价格为10.87英镑,而不是10.99英镑 我想对价格进行查询以改变价格,以便所有新价格(当添加新的增值税税率时)都是“好”的价格,而不是丑陋的价格 例如: 当前价格(不含增值税):8.50英镑 现行价格(增值税17.5%):9.99英镑 新价格(增值税税率为20%):10.20英镑 理想价格

由于英国增值税税率将在新的一年发生变化,一些客户将需要根据新的增值税税率更新其网站。由于价格都存储在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