1、在数据库sql中如何切割字符串的时候,高效且快,数据量大,字段中逗号分割的部门id,如果使用递归函数超出一定之后就会很慢。如图:
2、我使用的是以下sql:
select distinct id,LEVEL,replace(regexp_substr(dptid,'[^,]+',1,level),',',' ') dptid
from user
connect BY LEVEL<=length(dptid)-length(replace(dptid,',',''))+1
order by id,LEVEL
但是这种sql最大的问题就是如果字段中id 20-30条的时候,并且数据条数很多的话,那么这种递归函数就会卡死,查不出来。如图:
这种情况的话,他就分割不出来,数据小的话还是可以,请问有什么函数可以高效,并且需要考虑数据量很多的情况下,很快的切割出来。需要达到上面效果图, id 对应起来。
注:提供的方法一经测试可以使用,既采纳!