您好我有一个mysql查询
select balance (decimal) from table_name
where balance != 0.00
我仍然在查询中返回零余额。我试过“0.00”和其他一些不起作用的组合。我试过平衡> 0.00返回所有余额> 0并且不包括零余额。当我尝试< 0.00,它返回余额为0.00的余额。我对这种行为非常困惑。
我来自MS-SQL背景,因此我无法快速使用MYSQL,因此请求帮助....
答案 0 :(得分:0)
这应该是你的事后:
SELECT * FROM table_name WHERE `balance` <> '0'
这将返回余额大于0的所有行。它返回ResultSet
答案 1 :(得分:0)
首先尝试删除小数&#39;在select语句的括号中,否则:
您也可以尝试使用:
SELECT * FROM table_name WHERE `balance` NOT 0
OR
SELECT * FROM table_name WHERE `balance` NOT IN (0)
这些只是更多可以使用“非等于”的方式。在SQL语法中。
希望这有助于或至少为您提供解决问题的指导原则。
答案 2 :(得分:0)
> 0 ' Greater than 0
< 0 ' Less than 0
!= 0 ' Not 0 - including negatives
为此,我不认为mssql和mysql之间有任何不同。
当我尝试&lt; 0.00,它返回余额为0.00
的余额
请注意,MySQL的数字字段可以是“无符号”,这意味着MySQL会在存储数据时保存之前删除否定符号。