Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle SQL Developer 3.1.07 zusätzliche Leerzeichen zwischen Zeichen mit listagg

verwenden Sie UTF-16 + NVARCHAR2 zufällig? zB dies:

SQL> select * from nls_database_parameters where parameter='NLS_NCHAR_CHARACTERSET';

PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_NCHAR_CHARACTERSET         AL16UTF16

SQL> drop table test;

Table dropped.

SQL> create table test(a nvarchar2(10));

Table created.

SQL> insert into test values ('test');

1 row created.

SQL> insert into test values ('test 2');

1 row created.

SQL> select listagg(a, ',') within group (order by 1) from test group by 1;

LISTAGG(A,',')WITHINGROUP(ORDERBY1)
--------------------------------------------------------------------------------
 t e s t, t e s t   2

Sie könnten auf einen Char wirken, um dies zu umgehen. WENN dies nicht akzeptabel ist, müssen Sie ein Ticket beim Oracle-Support erstellen.

SQL> select listagg(to_char(a),',') within group (order by 1) from test group by 1;

LISTAGG(TO_CHAR(A),',')WITHINGROUP(ORDERBY1)
--------------------------------------------------------------------------------
test,test 2

SQL>