首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Where-In SQL- Oracle中传递多个参数

在Where-In SQL- Oracle中传递多个参数
EN

Stack Overflow用户
提问于 2020-02-28 16:39:55
回答 1查看 44关注 0票数 1

我正在尝试编写一个查询,将三个变量一起传递:-

代码语言:javascript
复制
select 
a,b,c,*
from table1 where
(a,b,c) in (('1','2','3'),('4','5','6'));

当所有值都为null时,这将给出结果。

但是,当我试图将其中至少一个作为空/空传递时,它会给出无效的关系运算符错误:-

代码语言:javascript
复制
select 
a,b,c,*
from table1 where
(a,b,c) in (('1','2',null),('4','5',''));
代码语言:javascript
复制
  [Error Code: 920, SQL State: 42000]  ORA-00920: invalid relational operator

你能帮我解决一下这个问题吗?我可以使用三种不同查询的结合,但这很容易出现错误,需要查询大量数据。

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-28 16:48:39

这是因为您为它提供了只提取非空值的选项,请尝试如下所示

代码语言:javascript
复制
select 
a,b,c,*
from table1 where
(a in ('1', '4')) or (b in ('2','5')) or (c in ('3','6'));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60455926

复制
相关文章

相似问题

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