Oracle:具有ISNULL条件的CaseState

时间:2017-06-09 15:08:48

标签: oracle case

我有以下不捕获的case语句是空值。如何在REGION_NAME为空时添加其他标准以进行捕获

CASE WHEN M.OPER_STATE = 'AK' AND REGION_NAME IN ('NA','N/A','')
  THEN 'Pacific'
  ELSE T.REGION
END REGION

对齐行返回区域的空白,应该返回太平洋。

Region    Id    REGION_NAME
          1      (THIS VALUE IS NULL)

1 个答案:

答案 0 :(得分:2)

您无法检查null的值是否与null''“相等”;你需要使用IS [NOT] NULL

... (REGION_NAME IN ('NA','N/A') OR REGION_NAME IS NULL) ...

您甚至可以使用NVL,但为了清晰起见,我更倾向于采用布尔方式:

... (nvl(REGION_NAME, 'NA') IN ('NA','N/A') ...