当前位置: 代码迷 >> Oracle开发 >> oracle 函数解析固定格式id串,转化为in 后面类型如'123','321',该怎么解决
  详细解决方案

oracle 函数解析固定格式id串,转化为in 后面类型如'123','321',该怎么解决

热度:16   发布时间:2016-04-24 07:28:44.0
oracle 函数解析固定格式id串,转化为in 后面类型如'123','321'
如题,有固定的id串格式如下
123;321;345;567 中间用分号隔开存在一个字段中,现在要将这个串写个oracle函数,解析为如下格式
'123','456','789' 便于 我用in 函数 in ('123','456',.....)
高手指教,这个函数咋写啊。。谢谢了

------解决方案--------------------
SQL code
select chr(39)||replace('123;321;345;567',';',''',''')||chr(39) c1from dual            c1--------------------------------1    '123','321','345','567'
------解决方案--------------------
SQL code
create or replace function fun_test(i_str in varchar2) return varchar2 asbegin  return '''' || replace(i_str, ';', ''',''') || '''';end;select fun_test('123;321;345;567') from dual;       FUN_TEST('123;321;345;567')1    '123','321','345','567'
------解决方案--------------------
SQL code
select * from TB where id in(select  regexp_substr('123;321;345;567', '[^;]+', 1, rownum) from dualconnect by rownum <= length(regexp_replace('123;321;345;567', '[^;]'))+1)
  相关解决方案