Oracle SQL:仅在满足两个条件时从查询结果中排除记录

时间:2012-11-29 19:22:19

标签: sql oracle

所以我有一个非常大的Oracle SQL查询。我想将以下逻辑添加到我的where子句中,如下面的伪代码所述。可能吗?当且仅当BOTH columnA和columnB为null时,我想要排除记录。如果一个或另一个为null,那没关系。

    IF (pfr.columnA && pfr.columnB != NULL)
        exclude record
    ELSE
        do nothing

我尝试了下面的内容,除了我的where子句,但显然它没有完成我需要的东西。

AND (pfr.columnA IS NOT NULL AND pfr.columnB IS NOT NULL)

2 个答案:

答案 0 :(得分:4)

where NOT (pfr.columnA is NULL and pfr.columnB is NULL);

答案 1 :(得分:1)

WHERE 
case when pfr.ColumnA is null then 0 else 1 end + 
case when pfr.columnB is null then 0 else 1 end > 0

where (pfr.columnA is not null or pfr.columnb is not null)