微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;

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

http://www.jb51.cc/article/p-ylyucrfn-hw.html

http://www.itpub.net/forum.php?mod=viewthread&tid=1825066

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐