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

RLearner

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

select 
a,b,c,*
from table1 where
(a,b,c) in (('1','2','3'),('4','5','6'));

当所有值都不为空时,这会给我结果。

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

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

您能帮我解决问题的方法吗?我可以使用三个不同查询的并集,但这容易出错,需要查询大量数据。

谢谢,

玛丽亚·纳扎里(Maria Nazari)

那是因为您给它提供仅拉取非null值的选项,请尝试这样的操作

select 
a,b,c,*
from table1 where
(a in ('1', '4')) or (b in ('2','5')) or (c in ('3','6'));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL 中的 WHERE 条件 (ORACLE)

来自分类Dev

如何在where子句中使用多个参数将Oracle转换为MS SQL?

来自分类Dev

SQL Where逻辑参数化where

来自分类Dev

oracle中where子句的case语句中传递多个值

来自分类Dev

SQL语句忽略了where参数

来自分类Dev

Oracle SQL Where条件权重

来自分类Dev

Oracle SQL - WHERE 子句行为

来自分类Dev

SQL查询多个where子句

来自分类Dev

.NET Web窗体将参数作为SQL Select / Where传递

来自分类Dev

SQL Oracle rownum上有多个where子句?

来自分类Dev

SQL中的WHERE子句忽略OR

来自分类Dev

SQL查询中的WHERE子句

来自分类Dev

使用php在sql查询中的where条件中传递数组

来自分类Dev

忽略SQL的where子句linq中的空参数

来自分类Dev

sql中基于参数值的动态Where条件

来自分类Dev

基于SQL Server参数值的条件WHERE

来自分类Dev

WHERE IF(字段取决于参数)SQL

来自分类Dev

JOIN ON与WHERE中的Oracle SQL查询过滤器

来自分类Dev

Sysdate where子句在Oracle SQL中不起作用

来自分类Dev

在 Oracle PL/SQL 中向 WHERE 子句添加条件

来自分类Dev

SQL中具有多个联接的复杂where子句

来自分类Dev

SQL:在单个查询中添加多个where子句

来自分类Dev

SQL中多个WHERE语句中的子查询

来自分类Dev

根据SQL中的多个Join和where语句删除行

来自分类Dev

在SQL中的where子句中的语句之间获取多个列

来自分类Dev

Oracle SQL:WHERE子句中的MAX函数

来自分类Dev

SQL Where子句具有多个值

来自分类Dev

具有多个WHERE子句的SQL RANK

来自分类Dev

SQL根据多个where条件更新多行