价格四舍五入到最接近的5c

时间:2013-05-29 04:46:29

标签: mysql rounding

我有一个sql脚本来计算物品的折扣,现在虽然我可以很好地计算我在价格中遇到问题

我的物品是9.95美元,它的折扣是50%所以它的新价格是4.975美元,因为商店的价格应该有2的精度值4.97美元(根据政策,折扣价格必须是最低值)

问题在于价值是错误的,因为网站上的价格必须与店内的价格相匹配,因为在澳大利亚,最小的变化是5美分,价格必须是其中的倍数,因为收银员无法给出顾客1 - 4美分的变化,如果他们在网上购买折扣价为4.97美元的商品,那么人们就会抱怨,商店里的价格为4.95美元(是的,人们都很挑剔)

有没有办法舍入到最接近的5或0

2 个答案:

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

enter image description here