LISTAGG視窗函式示例

2022-06-17 10:12:11 字數 532 閱讀 8665

介紹:wm_concat在12版本後已經被淘汰了,有可能報lob這樣的問題,實際檢查資料,資料不存在問題,有可能算是oracle的bug吧,11版本後新增了listagg函式,用法總結

寫法規範:

1.listagg(字段, 連線符) within group (order by 字段)  --這是非開窗的寫法需要你自己加group by

2.listagg(字段, 連線符) within group (order by 字段)  over(partition by

分組字段) --這是開窗的寫法

注:1,2兩種寫法請注意返回的型別是varchar2型別,也是說最大長度是4000,字串長度要求不大可以用用

3.xmlagg(xmlparse(content 字段(也可以是多字段拼接)||連線符 wellformed) order by 字段).getclobval()

注:這裡返回的是clob型別,適合長度比較大的字串拼接,xmlagg嘗試下,不給加開窗over,那麼就寫法上就比較累贅了,必要時需要考慮下效能問題

參考:

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...

Oracle行專列函式Listagg

oracle行專列函式listagg 這是乙個oracle的行轉列函式 listagg www.2cto.com 先看示例 sql with temp as select china nation guangzhou city from dual union all select china nat...

Oracle行專列函式Listagg

oracle行專列函式listagg 這是乙個oracle的行轉列函式 listagg www.2cto.com 先看示例 sql with temp as select china nation guangzhou city from dual union all select china nat...