【发布时间】:2016-03-02 18:07:17
【问题描述】:
我有一个问题,即在 in 子句中评估的替换函数在 Oracle SQL 11g 中不起作用。我需要的是一个基于 SQL 的解决方法,因为我可以控制的只是 SQL。
我收到一个用管道分隔的值列表,例如 STR1|STR2。要将它们转换为要查询的值列表,我使用如下替换,并且该查询的结果应该为 1。
select 1 from dual where 'STR1' in (replace('''STR1|STR2''','|',''','''))
事实上,我没有返回任何行。替换在语法上是正确的,并且 基本上这应该解决到
select 1 from dual where 'STR1' in ('STR1','STR2')
这会得到我想要的结果;但它不适用于替换。
我怎样才能做到这一点?
【问题讨论】: