我看项目中有 很多传入 ’0002,3232,3331‘ 这样的数据, 表示 3条 id 为这些的 数据,
都是 先分割在 用 in() , 或者 or
现在我们直接把这个字符串 传到 oracle 中解析
select regexp_substr('0334,0332,0335','[^,]+', 1, level ), level
from dual connect by level<= length( regexp_replace('0334,0332,0335', '[^,]+') ) + 1 ; 这样 就可以得到2条数据了。。。
如果是 11 g 则更简单 select regexp_substr('0334,0332,0335','[^,]+', 1, level ), level
from dual connect by level<= regexp_count('0334,0332,0335', '[^,]+')
oracle 的正则表达式用的地方有很多 , 这里就不说了, 下次有适用的, 在写下来....