【发布时间】:2016-12-28 21:19:34
【问题描述】:
我正在尝试执行一个选择查询,该查询是从一个表中选择的,其中字段 1 和字段 2 都大于 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"
我需要检查这些以生成已收到申请评分的申请人列表,因此必须满足字段 1 和字段 2,因此假设对于大于 0 的匹配数字评分将起作用,但由于某种原因它没有?
【问题讨论】:
-
field1 是整数还是字符串?
-
如果字段是 INT 类型,您应该将它们与零进行比较,而不是字符串文字。
-
直接与零比较不起作用,与字符串文字比较在与零比较的单数查询中出于某种原因。两个字段都是整数。
-
@scaisEdge 不要对未引用的文本使用引号格式。
-
@GiantKiwi 定义“不起作用”。 这不起作用:否则你不会问这个问题。
标签: mysql