增值税更改 - 如何更改增值税然后向上舍入价格

发布于 2024-10-05 04:06:00 字数 333 浏览 2 评论 0原文

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

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

例如:

当前价格(不含增值税):8.50 英镑

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

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

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

With the UK VAT rate due to change in the New Year, several clients will need to update their sites to the new VAT rate. As prices are all stored in a MySQL table (excluding VAT), changing the actual VAT rate is a simple flag in the backend of most sites, but this leaves 'ugly' prices £10.87, rather than £10.99.

I'd like to run a query against the prices to alter the prices so that all of the new prices (when the new VAT rate is added) are 'nice' prices rather than ugly ones.

For instance:

Current Price (ex VAT): £8.50

Current Price (VAT @ 17.5%): £9.99

New Price (VAT @ 20%): £10.20

Desired Price (VAT @ 20%): £10.99

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

若沐 2024-10-12 04:06:00
UPDATE products SET price = (CEIL(price*1.20)-0.01)/1.20 WHERE product_id = 123
UPDATE products SET price = (CEIL(price*1.20)-0.01)/1.20 WHERE product_id = 123
梦在深巷 2024-10-12 04:06:00

如果您总是喜欢 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)

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

if you'd always like prices with .99, it should be pretty easy to do:

update articles set price = round((ceil(8.50 * 1.2) - 0.01) / 1.2, 2);

proof:

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)

in favor of competitive prices you could also consider floor(x) instead of ceil(x) though ;)

虽然尝试将价格上涨伪装成增值税上涨对您的客户来说是不诚实的,但您可以使用诸如 CEIL(将小数向上舍入到最接近的整数)之类的东西,然后是 - 0.01。

Though it's dishonest to your customers to try and disguise a price rise as a VAT increase, you could use something like CEIL (which rounds a decimal up to the nearest integer), then - 0.01.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文