首先是在工作中遇到了这样一个需求,就是要将"01,02,03"转化成为其对应的字典值并以逗号隔开。
查询资料后 https://www.cnblogs.com/lovehersister/p/6090338.html
可将“01,02,03”转化为列的形式。
这样就可以用in来做条件查询字典表了。
再加上列转行函数listagg就可以再转回行的形式了,于是有了如下的sql
select listagg(t.dict_name,',') within group(order by dict_value asc) jieguo from 字典表 t where t.dict_type_id='该字段字典表的type值' and t.dict_value in (
select trim(regexp_substr('02,03,04,','[^,]+',1,rownum)) from dual connect by rownum<=length(regexp_replace('02,03,04,', '[^,]', null)))
group by t.dict_type_id;
之后就成功的把“02,03,04”更改为其字典值的拼接了!记录一下