「BR」 已經在Oracle內部沒有任何特殊含義,我是知道,請使用CHR(10)(即回車)。 (或CHR(10)+ CHR(13)如果在Windows工作)
1 with w_data as (select level id from dual connect by level <= 10)
2 select listagg (id, chr(10)) within group (order by id)
3* from w_data
SQL>/
LISTAGG(ID,CHR(10))WITHINGROUP(ORDERBYID)
--------------------------------------------------------------------------------
1
2
3
4
5
6
7
8
9
10
1 row selected.
注意如何顯示「1行選擇」,但事情被分解成單獨的線......我相信這是你的效果在之後?
[編輯]對不起,只是意識到你在PL/SQL ..這裏是在PL/SQL相同的測試查詢,通過DBMS_OUTPUT ...:
declare
lv_str varchar2(4000);
begin
with w_data as (select level id from dual connect by level <= 10)
select listagg (id, chr(10)) within group (order by id)
into lv_str
from w_data;
dbms_output.put_line (lv_str);
end;
/
"gg.sql" 15 lines, 259 characters
SQL> @gg
1
2
3
4
5
6
7
8
9
10
PL/SQL procedure successfully completed.
使用''嘗試;而不是「
」。 –
@vkp:你確定這有效嗎?你有沒有鏈接到它的文檔?我只是試了一下,並沒有爲我工作......我不認爲Oracle對'
'有任何特殊處理......請鏈接到任何相關文檔,但是,想要學習新的東西:) – Ditto
或者使用遊標循環通過'employees.lastname'調用'dbms_output.put_line'一次。 –