当前位置: 代码迷 >> Oracle开发 >> 怎的将字符串str 123;345;678字符串转成in()里面需要的形式
  详细解决方案

怎的将字符串str 123;345;678字符串转成in()里面需要的形式

热度:338   发布时间:2016-04-24 07:23:13.0
怎样将字符串str 123;345;678字符串转成in()里面需要的形式
SQL code
从表A的ID字段查出如下结果SELECT A.ID FROM A;------------------123;456;789现在有表C 需要这样的sqlSELECT C.ID,C.NAME ...FROM  C WHERE C.ID IN ( SELECT ID FROM A );可是 SELECT ID FROM A 根本不是我们 正确 in()需要的 一行n列的格式怎样将 SELECT ID FROM A  查询出的id搞成 一行n列的格式 。例如 in ('123','456','789') 我写过一个函数getStr() 函数返回 就是'123','456','789' 这个字符串,但是将函数放入in (getStr()) 这样却查不查结果,之所以发到oracle开发贴 就是想用oracle 搞,java就不用了,请高手帮忙


------解决方案--------------------
不用in,用函数instr()

SQL code
SELECT C.ID,C.NAME  FROM  C WHERE instr( ( SELECT ';'||ID||';'  FROM A ),';'|| C.ID||';')>0;
  相关解决方案