标签: mysql if-statement
我的mysql查询是这样的
select if(brand_name="royal", b.multiplier, 1) as multiplier from brand;
我的数据库有以下记录
brand_name = royal, multiplier = 1.06 (type: float(5,2))
结果乘数值应为 1.06 ,但其结果值应为: 1.0599999427795
请您告诉我如何解决此问题?
答案 0 :(得分:0)
这只是浮动的行为方式:
正确的解决方案是使用DECIMAL(M, D)数据类型。
DECIMAL(M, D)
答案 1 :(得分:0)
如果要固定小数点值,则需要将乘数的type从float-> decimal
type
float
decimal
然后使用此代码
SELECT IF( brand_name = "apple", multiplier, 1 ) AS multiplier FROM stack LIMIT 0 , 30