针对oracle拼接函数的乱码,首先查询一下oracle字符的编码是否支持中文,查询语句: SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = ‘NLS_CHARACTERSET’; 若是是中文的,则选择另外一种方式: wmsys.wm_concat(to_char(….))..应该加上to_char() 在拼接的字段加上转换。php
想当年,在咱们须要将某字段多行内容拼接起来的时候,wm_concat提供了很好的方法 这使得这个未公开的函数,获得了普遍的宣传与运用oracle
可是,不公开,英文是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;.net
感谢网上的仁兄提供资料。blog
http://blog.csdn.net/yali1990515/article/details/50149873get