我有一条记录,其中包含以下数据: id=123 ;请求的=杰克逊;验证状态=空;
我希望上面的记录作为以下查询的结果。但是,它返回我 0 行。
$sql="SELECT * FROM spr WHERE requested_by IS NOT NULL AND verify_status!='Accept'";
我想选择“接受”以外的验证状态的所有记录。
我想知道 verify_status!='Accept' 有什么问题吗?请帮忙。谢谢。
我有一条记录,其中包含以下数据: id=123 ;请求的=杰克逊;验证状态=空;
我希望上面的记录作为以下查询的结果。但是,它返回我 0 行。
$sql="SELECT * FROM spr WHERE requested_by IS NOT NULL AND verify_status!='Accept'";
我想选择“接受”以外的验证状态的所有记录。
我想知道 verify_status!='Accept' 有什么问题吗?请帮忙。谢谢。
您需要使用以下命令处理这些行NULL
verify_status
:
$sql="SELECT * FROM spr WHERE requested_by IS NOT NULL
AND (verify_status IS NULL OR verify_status != 'Accept'")
任何比较NULL
都是错误的,因此NULL
必须明确处理字段。
您可以使用或-
where verify_status is null or verify_status != 'Accept'
或者,您可以使用coalesce
转换NULL
为不同的值
where coalesce(verify_status, 'xxNULLxx') != 'Accept'
(请注意,coalesce
以这种方式使用函数,这样您的查询就不能使用任何位于verify_status
.