Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle SQL Developer 3.1.07 espaces supplémentaires entre les caractères à l'aide de listagg

utilisez-vous UTF-16 + NVARCHAR2 si par chance? par exemple ceci :

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

vous pouvez lancer un char pour contourner cela. SI cela n'est pas acceptable, vous devez créer un ticket auprès du support Oracle.

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>