listagg 函式導致中文亂碼

2021-10-02 01:41:52 字數 502 閱讀 9787

1.背景

oracle 12.2c 資料庫匯入到oracle 12.1c 資料庫後,通過listagg的函式中文亂碼,不太清楚是為什麼,兩個資料庫編碼都一樣,表結構與資料都是直接導過來的

現象:

listagg(p.c_name, ',')within group( order by p.c_name)over (partition by t.c_ordernumber) as cname,
改為:

listagg(to_char(p.c_name), ',')within group( order by p.c_name)over (partition by t.c_ordernumber) as cname,
就行了.

但是原資料庫的sql 就不用轉就行,真是奇怪的現象.有時間再研究吧.

mbstring擴充套件導致中文亂碼

本文目的 mbstring是php的乙個標準擴充套件,源 在php src ext mbstring中。主要用於處理多位元組編碼的字串,如utf 8,gbk等。php內建的字串處理函式 如strlen等 將字串當作位元組陣列處理,如果直接用來處理中文,可能會導致中文亂碼 中文編碼方式可以參考這篇文章...

ListAGG函式使用

1.使用條件查詢 查詢部門為20的員工列表 查詢部門為20的員工列表 select t.deptno,t.ename from scott.emp t where t.deptno 20 效果 2.使用 listagg within group 將多行合併成一行 select t deptno,li...

LISTAGG視窗函式示例

介紹 wm concat在12版本後已經被淘汰了,有可能報lob這樣的問題,實際檢查資料,資料不存在問題,有可能算是oracle的bug吧,11版本後新增了listagg函式,用法總結 寫法規範 1.listagg 字段,連線符 within group order by 字段 這是非開窗的寫法需要...