首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle SQL其中CASE IN语句有3个输出

Oracle SQL其中CASE IN语句有3个输出
EN

Stack Overflow用户
提问于 2018-06-25 10:47:59
回答 2查看 51关注 0票数 0

我有一小部分代码,在前端有一个参数输入。

输入的选项为“是”、“否”和“全部”,这等于:

代码语言:javascript
运行
复制
yes = TRUE
no = FALSE
all = TRUE & FALSE

我的代码是:

代码语言:javascript
运行
复制
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:无效的关系运算符

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-25 10:54:09

使用OR

代码语言:javascript
运行
复制
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')) 
票数 1
EN

Stack Overflow用户

发布于 2018-06-25 10:50:02

我想你想:

代码语言:javascript
运行
复制
SELECT c.ID, c.rep, c.cust
FROM mytable c 
WHERE (c.Acc =  = &input OR &input = 'all')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51021682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档