2017-01-29 24 views
1

我有表,这里的结构MYSQL - 如何获得零值

id price  net_price 

1  20000  19800 

类型数据的价格和net_price是双,当我运行此查询

SELECT CAST(net_price - price as unsigned) WHERE id = 1 

结果为18446744073709551416,我想要的结果值为0

前感谢

+0

价格永远不会翻番。这就是为什么小数发明 – Strawberry

+0

好的感谢您的意见 –

回答

4

为-200无符号值是1844674407370下面9551416.

使用,如果你想负值0:

select case 
     when net_price - price < 0 
      then 0 
     else net_price - price 
     end 
from t 
where id = 1; 

此外,建议使用十进制类型,而不是双做货币计算为双并不能代表准确值。

+0

谢谢它的作品 –