我正在尝试编写一个查询,将三个变量一起传递:-
select
a,b,c,*
from table1 where
(a,b,c) in (('1','2','3'),('4','5','6'));当所有值都为null时,这将给出结果。
但是,当我试图将其中至少一个作为空/空传递时,它会给出无效的关系运算符错误:-
select
a,b,c,*
from table1 where
(a,b,c) in (('1','2',null),('4','5','')); [Error Code: 920, SQL State: 42000] ORA-00920: invalid relational operator你能帮我解决一下这个问题吗?我可以使用三种不同查询的结合,但这很容易出现错误,需要查询大量数据。
谢谢,
发布于 2020-02-28 16:48:39
这是因为您为它提供了只提取非空值的选项,请尝试如下所示
select
a,b,c,*
from table1 where
(a in ('1', '4')) or (b in ('2','5')) or (c in ('3','6'));https://stackoverflow.com/questions/60455926
复制相似问题