我有以下查询:
SELECT TA.*
FROM TableA TA
WHERE DECODE(vcConfig, 'Y', TA.ColumnC IS NULL, 1 = 1);
现在vcConfig
是Y
。
但我的查询似乎与来自IS
的{{1}}有问题。
我得到的错误是:
ORA-00907:缺少右括号
有谁知道如何解决这个问题?
答案 0 :(得分:3)
这不能这样做,你可以试试这个:
SELECT TA.*
FROM TableA TA
WHERE (TA.vcConfig = 'Y' AND TA.ColumnC IS NULL)
OR TA.vcConfig <> 'Y'
您可以使用decode
来设置值,而不是条件。
编辑:只是让您理解逻辑,如果您希望它与解码一起工作,您可以这样做:
SELECT TA.*
FROM TableA TA
WHERE DECODE(vcConfig, 'Y', ColumnC , null ) IS NULL;