我有一个sql脚本来计算物品的折扣,现在虽然我可以很好地计算我在价格中遇到问题
我的物品是9.95美元,它的折扣是50%所以它的新价格是4.975美元,因为商店的价格应该有2的精度值4.97美元(根据政策,折扣价格必须是最低值)
问题在于价值是错误的,因为网站上的价格必须与店内的价格相匹配,因为在澳大利亚,最小的变化是5美分,价格必须是其中的倍数,因为收银员无法给出顾客1 - 4美分的变化,如果他们在网上购买折扣价为4.97美元的商品,那么人们就会抱怨,商店里的价格为4.95美元(是的,人们都很挑剔)
有没有办法舍入到最接近的5或0
答案 0 :(得分:2)
这对你有用吗?
SELECT floor(price_after_discount * 20) / 20 AS price FROM table
答案 1 :(得分:1)
在SQL Server中,我可以这样做:
select
Val,
FLOOR(val) +
CASE
WHEN (val * 100)%100 >= 50 THEN 0.05
ELSE 0
END Rounded_Val
from #Test