oracle拼接函数乱码,oracle wm_concat 拼接乱码

针对oracle拼接函数的乱码,首先查询一下oracle字符的编码是否支持中文,查询语句: SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = ‘NLS_CHARACTERSET’; 如果是中文的,则选择另一种方式: wmsys.wm_concat(to_char(….))..应该加上to_char() 在拼接的字段加上转换。

想当年,在我们需要将某字段多行内容拼接起来的时候,wm_concat提供了很好的方法 这使得这个未公开的函数,得到了广泛的宣传与运用

但是,不公开,英文是undocumented,就意味着随时可能发生变更 这不,10.2.0.5上,其返回类型从varchar2变为了clob 而在12c当中,干脆就取消了此函数

优先: listagg(11g) > stragg(tomkyte) > 自定义PLSQL函数 > wm_concat。

实例: select listagg(TO_CHAR(A.zlmc),',') WITHIN GROUP(ORDER BY A.zlmc) rank from (select m.rowid, m.,z. from ZYWSPT_GFXWJB m left join ZYWSPT_ZDYLWJBCB n on m.id = n.glbjlid left join ZYWSPT_ZLBCB Z ON n.zlbcjlid = z.id and m.glbm = z.Glb where 1 = 1 and m.id=1 order by m.dlsj desc, m.id desc) A;

感谢网上的仁兄提供资料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值