これはバグ19461687に関連しているようで、
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
SQL *PlusおよびSQLDeveloperでは、実際の値は次のように表示されます。
LISTAGG_OUTPUT
----------------------------------------
A R 4 0 0 1, A R 4 0 0 2
また、SQLDeveloperから値をコピーすることはできません。 (12cR2では、ゼロはダンプに表示されなくなり、値は間隔なしで表示され、コピーできるため、バグは修正されたようです。)
これらのヌルバイトが原因で、Toadは値をまったく表示しないようです。おそらく、最初のヌルバイトを認識し、それを文字列ターミネータ(またはとにかくそれらの行に沿ったもの)として扱うためです。
SQL Fiddleはこれに対処しているようですが、db <> fiddleにも問題があるようで、そのクエリが存在する場合、fiddle全体に対して何も返されません。
テーブルの列をvarchar2
として再定義できます。 nvarchar2
の代わりに 、しかし、それは理由からそのデータ型であると思います。そのため、おそらく実用的ではありません。
したがって、代わりにクエリの一部としてキャストできます:
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
または、バグ19461687のパッチで問題が修正されるかどうかを確認してください。