sql >> データベース >  >> RDS >> Oracle

Oracle SQL Developer3.1.07listaggを使用した文字間の余分なスペース

    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. mysqlの主キーとしての2つの列?

    2. pg client.query()はawaitで待機しません

    3. mySQLデータベース情報をJavaScript配列に入れる

    4. Wampserverアイコンが完全に緑色にならない、mysqlサービスが起動しない?