我有一条记录,其中包含以下数据: id = 123; requested_by =杰克逊; verify_status = NULL;
我希望上面的记录作为以下查询的结果。但是,它返回0行。
$sql="SELECT * FROM spr WHERE requested_by IS NOT NULL AND verify_status!='Accept'";
我想选择除“Accept”以外的verify_status的所有记录。
我想知道verify_status有什么问题!='接受'?请帮忙。谢谢。
答案 0 :(得分:0)
您需要使用NULL
verify_status
:
$sql="SELECT * FROM spr WHERE requested_by IS NOT NULL
AND (verify_status IS NULL OR verify_status != 'Accept'")
答案 1 :(得分:0)
对NULL
的任何比较都是错误的,因此必须明确处理NULL
字段。
你可以用或 -
来做 where verify_status is null or verify_status != 'Accept'
或者,您可以使用coalesce
将NULL
转换为其他值
where coalesce(verify_status, 'xxNULLxx') != 'Accept'
(请注意,以这种方式使用函数coalesce
会使您的查询无法使用verify_status
上的任何索引。