将以逗号隔开的字段值转换为对应字典值小记


首先是在工作中遇到了这样一个需求,就是要将"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”更改为其字典值的拼接了!记录一下


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值