Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle SQL Developer 3.1.07 допълнителни интервали между знаците с помощта на listagg

използвате ли UTF-16 + NVARCHAR2 по някаква случайност? например това:

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

можете да прехвърлите към char, за да заобиколите това. АКО това не е приемливо, трябва да съберете билет с поддръжката на 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>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00904:ID:невалиден идентификатор

  2. Как да премахнете повтарящи се редове в Oracle SQL заявка

  3. Какъв тип обект връща методът за изпълнение на Spring Hibernate Template за заявка за броене в Oracle?

  4. вътрешна грешка (00801) при комбиниране на две колекции в oracle 10g

  5. ORA-00979:не е проблем с израза GROUP BY