0

我有一条记录,其中包含以下数据: id=123 ;请求的=杰克逊;验证状态=空;

我希望上面的记录作为以下查询的结果。但是,它返回我 0 行。

$sql="SELECT * FROM spr WHERE requested_by IS NOT NULL AND verify_status!='Accept'";

我想选择“接受”以外的验证状态的所有记录。

我想知道 verify_status!='Accept' 有什么问题吗?请帮忙。谢谢。

4

2 回答 2

0

您需要使用以下命令处理这些行NULL verify_status

$sql="SELECT * FROM spr WHERE requested_by IS NOT NULL 
       AND (verify_status IS NULL OR verify_status != 'Accept'")
于 2012-12-11T05:58:52.793 回答
0

任何比较NULL都是错误的,因此NULL必须明确处理字段。

您可以使用或-

where verify_status is null or verify_status != 'Accept'

或者,您可以使用coalesce转换NULL为不同的值

where coalesce(verify_status, 'xxNULLxx') != 'Accept'

(请注意,coalesce以这种方式使用函数,这样您的查询就不能使用任何位于verify_status.

于 2012-12-11T06:06:04.373 回答