SQL在case中使用变量集



我想在查询中使用输入变量。输入变量应该是一个集合。

例如:

这是一个工作查询:

select * from table_1
where key_1 in ('1', '2', '3')

但我想用一个输入变量替换该集

select * from table_1
where key_1 in (:input_set)

然后我将输入设置为::input_set=('1,2,3'(

然而,我找不到一种方法来实现这一点。

感谢OldProgrammer。

我使用了以下部分答案:Oracle:使用带文本字段的IN子句?

select * from table_1
where key_1 in (
when pzgr_id in (
select  regexp_substr(str, '[^,]+',1,level)
from    (select :input_set str from dual)
connect by level <= regexp_count(str,'[^,]+')
)

使用输入集"1,2,3"。重要的是不要使用1、2、3之间的空格。

相关内容

  • 没有找到相关文章

最新更新