SELECT regexp_replace(create_user, '([^,]*)(,\1)+($|,)', '\1\3')
createUser,
regexp_replace(assign_user, '([^,]*)(,\1)+($|,)', '\1\3')
assignUser,
regexp_replace(user_name, '([^,]*)(,\1)+($|,)', '\1\3')
userName,
regexp_replace(firm_id, '([^,]*)(,\1)+($|,)', '\1\3') firmId,
regexp_replace(high_seas, '([^,]*)(,\1)+($|,)', '\1\3') highSeas
FROM
(SELECT listagg(create_user, ',') within GROUP(ORDER BY create_user)
create_user,
listagg(assign_user, ',') within GROUP(ORDER BY
assign_user) assign_user,
listagg(t1.user_name, ',') within GROUP(ORDER
BY t1.user_name)
user_name,
listagg(t1.firm_id, ',') within GROUP(ORDER
BY t1.firm_id) firm_id,
listagg(t1.high_seas, ',') within GROUP(ORDER
BY t1.high_seas) high_seas
FROM TABLE(XXXX_XXXX) t1)
orcale里的正则替换 regexp_replace(1,2,3,4,5,6) 语法说明:1:字段 2:替换的字段 3:替换成什么 4:起始位置(默认从1开始) 5:替换的次数(0是无限次) 6:不区分大小写