Ini tampaknya terkait dengan bug 19461687, dan pertanyaan sebelumnya . Jika Anda membuang nilai agregat dari kueri Anda di 11gR2 atau 12cR1 Anda melihat:
LISTAGG_OUTPUT
--------------------------------------------------------------------------------------------------
Typ=1 Len=25 CharacterSet=AL32UTF8: 0,41,0,52,0,34,0,30,0,30,0,31,2c,0,41,0,52,0,34,0,30,0,30,0,32
Dalam SQL*Plus dan SQL Developer, nilai aktual ditampilkan sebagai:
LISTAGG_OUTPUT
----------------------------------------
A R 4 0 0 1, A R 4 0 0 2
dan Anda tidak dapat menyalin nilai dari SQL Developer. (Dalam 12cR2 nol tidak lagi muncul di dump, nilai ditampilkan tanpa spasi, dan Anda dapat menyalinnya, sehingga bug tampaknya telah diperbaiki.)
Byte null tersebut tampaknya menyebabkan Toad tidak menampilkan nilai sama sekali, mungkin karena ia melihat byte null pertama dan memperlakukannya sebagai terminator string (atau sesuatu seperti itu).
SQL Fiddle tampaknya mengatasi ini, tetapi db<>fiddle juga tampaknya memiliki masalah dengannya, dan tidak mengembalikan apa pun untuk keseluruhan biola ketika kueri itu ada.
Anda dapat mendefinisikan ulang kolom tabel Anda sebagai varchar2
bukannya nvarchar2
, tapi saya berasumsi itu adalah tipe data karena suatu alasan, jadi itu mungkin tidak praktis.
Jadi, Anda bisa memasukkannya sebagai bagian dari kueri:
SELECT LISTAGG(CAST(MOD_CODE AS VARCHAR2(12)),',')
WITHIN GROUP (ORDER BY MOD_CODE) LISTAGG_OUTPUT
FROM XOTEST_A
WHERE MOD_CODE IN ('AR4001','AR4002');
LISTAGG_OUTPUT
----------------------------------------
AR4001,AR4002
Atau lihat apakah patch untuk bug 19461687 memperbaiki masalah Anda.