5
SELECT * 
FROM REVIEW 
WHERE REVIEWERID =5 AND APPRAISEECONFIRMYN='Y' AND HRCONFIRMYN = NULL

是否允许这样的 2 个“与”条件?我没有得到正确的输出。数据库中有 2 条记录满足上述条件。当我删除最后一个条件'HRCONFIRMYN = NULL'并执行时,我得到了正确的输出。

如何解决?我需要在搜索记录时检查所有 3 个条件。

4

2 回答 2

12

要比较这些NULL值,您必须使用IS NULL谓词而不是= NULL像这样:

SELECT * 
FROM REVIEW 
WHERE REVIEWERID = 5 
  AND APPRAISEECONFIRMYN = 'Y' 
  AND HRCONFIRMYN IS NULL
于 2012-11-25T14:59:24.967 回答
2
  • OR改为使用
  • 分组你的情况
  • IS NULL与 NULL 比较时使用

询问,

SELECT * 
FROM REVIEW 
WHERE (REVIEWERID =5 AND APPRAISEECONFIRMYN='Y') OR
      HRCONFIRMYN IS NULL
于 2012-11-25T14:59:09.147 回答