Oracle SQL:对内联数组使用 IN 运算符

Oracle SQL: Use IN operator with inline array

是否可以定义内联数组以与 Oracle SQL 12c 中的 IN 运算符一起使用?伪代码:

SELECT *
FROM T_AUDIO_PLAYERS
WHERE NAME IN {'foo', 'bar'};

背景:我有一个 Java 工具,它正在读取有效的 .SQL 文件并在执行前替换 SQL-变量,例如 :NAME

我不确定我是否正确理解你的问题。但是,如果您将 {-brackets 更改为 (-brackets,这应该已经有效:

SELECT *
FROM T_AUDIO_PLAYERS
WHERE NAME IN ('foo', 'bar');

你可以像

一样使用LISTAGG函数
SELECT *
FROM T_AUDIO_PLAYERS
WHERE NAME IN (select LISTAGG() ...);

更多详情here