我希望得到所有记录,以防result_1不是如下所示:
SELECT ID,
Code,
NULLIF(CompareWithField,2.25) as result_1
FROM `data`
WHERE Indexed = 0
and code = 142
and 'result_1' is not null
但是,每次运行查询时,即使result_1报告为NULL,我也会收到结果。
任何解决方案?
答案 0 :(得分:3)
这是因为你在引号内有result_1。这将它从列名转换为文本值,该值不为null。尝试...
SELECT ID,Code, NULLIF(CompareWithField,2.25) as result_1 FROM `data`
WHERE Indexed=0 and code=142 and result_1 is not null
答案 1 :(得分:1)
根据您的查询,result_1
是一个别名字段。因此,CompareWithField
可能仍为NULL
或2.25
,因此会产生NULL
。
答案 2 :(得分:0)
我找到了答案。问题是WHERE子句中不允许使用别名。
所以,我将查询更改为此并且有效。
SELECT ID,
Code,
CompareWithField
FROM `data`
WHERE Indexed = 0
and code = 142
and NULLIF(CompareWithField,2.26) is not null