我正在尝试执行一个select查询,我从一个表中选择,其中field1和field2都大于0。
NB field1& field2都是INT / NOT NULL。
我尝试过按照以下方式做的事情:
SELECT * FROM tblname WHERE field1 > "0" AND field2 > "0"
SELECT * FROM tblname WHERE field1 <> "0" AND field2 <> "0"
SELECT * FROM tblname WHERE field1 != "0" AND field2 != "0"
但是,当我只是匹配是否为0时,此查询确实有效 -
SELECT * FROM tblname WHERE field1 = "0"
我需要检查这些以生成一个已经收到应用程序评分的申请人列表,因此field1和field2都必须已经满足,因此假设通过数字评分,匹配大于0会起作用,但由于某种原因,它没有?
答案 0 :(得分:0)
对于更简洁的代码,您可以使用LEAST()
,它将较小的参数放在parantheses中。
我相信你的问题是你在比较字符串而不是数字(你提到那些是数字字段):
SELECT * FROM YourTable
WHERE LEAST(field1,field2) > 0
如果这不能解决您的问题 - 编辑您的问题并定义“不起作用”,则没有选择任何内容?引发错误? ..
答案 1 :(得分:0)
你可以试试这个:
SELECT * FROM tblname WHERE field1 <> 0 AND field2 <> 0