針對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