db2 空字符串相等比较
db2 empty string equality comparison
我想对空字符串进行相等比较('' = '')
正在查询无效。
我认为 ''='' 不起作用。
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 compatibility".
在创建数据库之前,我修改了允许 Oracle 兼容性的注册表变量。 (db2set DB2_COMPATIBILITIY_VECTOR = ORA)
与 DB2 不同,Oracle 将 null 视为空字符串 ('')。
所以 oracle 兼容性使得 ''='' 带来错误。
我想对空字符串进行相等比较('' = '')
正在查询无效。 我认为 ''='' 不起作用。
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 compatibility".
在创建数据库之前,我修改了允许 Oracle 兼容性的注册表变量。 (db2set DB2_COMPATIBILITIY_VECTOR = ORA)
与 DB2 不同,Oracle 将 null 视为空字符串 ('')。 所以 oracle 兼容性使得 ''='' 带来错误。