DB2 空字符串相等性比较



我想在空字符串('' = '')之间进行相等的比较

在查询下不起作用。我认为"="不起作用。

SELECT RESOURCE_ID  
FROM DEV_RESOURCE
WHERE PHYSICAL_NAME = 'g'                   
    AND 
    CASE WHEN '' = '' THEN '1' ELSE RESOURCE_DIV END = CASE WHEN '' = '' THEN  '1' ELSE '' END
 -- AND DECODE('', '','1', RESOURCE_DIV) = DECODE('','','1','')
WITH UR;

像评论一样,使用解码功能更改查询似乎很棒,但我不想。

原因是"甲骨文兼容性"。

在创建数据库之前,我修改了允许Oracle兼容性的注册表变量。(db2set DB2_COMPATIBILITIY_VECTOR = ORA)

与 DB2 Oracle 不同,将 null 视为空字符串 ('')。因此,oracle兼容性使"="带来错误。

相关内容

  • 没有找到相关文章

最新更新