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
是否可以定义内联数组以与 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