Oracle 字符串去重复
/*去重复*/
Select xmid,
regexp_replace( listagg(name,',') WITHin GROUP (ORDER BY xmid) ,'([^,]+)(,\1)*(,|$)','\1\3')as name
from t_tablename
Where yxzt=1
--And xmid=4013903
Group By xmid
select listagg(to_char(username),',') within group(order by username)name from Sys_User_Employee Where Rownum <3;
Select xmid, wm_concat(Distinct dbbm) dbbm FROM ( select a.xmid, level lev, regexp_substr(a.dbbm,'[^,]+',1,level) as dbbm From ( Select xmid,(dbbm||','||phbm) dbbm FROM ( Select xmid, regexp_replace( listagg(dbbm,',') WITHin GROUP (ORDER BY xmid) ,'([^,]+)(,\1)*(,|$)','\1\3')as dbbm ,(Select XMPHBM FROM T_PROJ_JBXX Where sysid=t.xmid) phbm from t_proj_dbrw t Where yxzt=1 And cjrid='system' --And xmid=4013903 And xmid In( 4013923, 4013846, 4013920, 4013921, 4013844, 4013900, 4013901, 4013924 ) Group By xmid ) ) a Where a.dbbm Is Not Null connect by prior a.xmid = a.xmid and prior dbms_random.value is not null and level <= regexp_count(a.dbbm,'[^,]+') ) Group By xmid

浙公网安备 33010602011771号