我想要将SQL查询缩小到最接近的.49或.99
我目前已经使用FLOOR或TRUNCATE函数写入了.99没问题
UPDATE wp_postmeta
SET meta_value=meta_value*1.39
WHERE meta_key='_saleprice' OR meta_key='_price';
UPDATE wp_postmeta
SET meta_value = FLOOR(meta_value) + 0.99
WHERE meta_key='_price' OR meta_key='_saleprice’;
这首先将价格乘以1.39 然后FLOORS这个(在十进制舍入到最接近的整数之后删除)然后将0.99添加到结尾...有效地总计这个舍入到最接近的0.99
PRICE AFTER *1.39 PRICE AFTER ROUNDING
10.00 10.99
10.49 10.99
10.50 10.99
10.99 10.99
11.00 11.99
11.49 11.99
11.50 11.99
11.99 11.99
我想要实现的是
PRICE AFTER *1.39 PRICE AFTER ROUNDING
10.00 10.49
10.49 10.49
10.50 10.99
10.99 10.99
11.00 11.49
11.49 11.49
11.50 11.99
11.99 11.99
我如何才能实现这一目标?期待一些建议
由于
亨利
答案 0 :(得分:1)
以下似乎有效:
select ceil(meta_value * 2 + 0.001)/2 - 0.01
这有点棘手,因为10.50应该是10.99,而不是10.49。
答案 1 :(得分:1)
以下应该可以解决问题:
* 2.0, trunc down, divide by 2, add 0.49