我有一小段代码,在前端有一个参数输入。
输入选项为是、否和全部,它们等同于:
yes = TRUE
no = FALSE
all = TRUE & FALSE
我的代码是:
SELECT c.ID,
c.rep,
c.cust
FROM mytable c
WHERE '&input' IN (
CASE WHEN 'yes' THEN c.Acc = 'TRUE'
WHEN 'no' THEN c.Acc = 'FALSE'
WHEN 'all' THEN c.Acc IN ('TRUE', 'FALSE')
END)
但得到错误:
ORA-00920: 无效的关系运算符
用 OR
SELECT c.ID,
c.rep,
c.cust
FROM mytable c
WHERE (&input = 'yes' and c.Acc = 'TRUE') OR
(&input = 'no' and c.Acc = 'FALSE') OR
(&input = 'all' and c.Acc IN ('TRUE', 'FALSE'))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句