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

Oracle11gR2のWM_CONCAT関数のセパレータを変更します

    LISTAGGを使用することをお勧めします 。

    SELECT col_id, 
           LISTAGG(col_text, '|') WITHIN GROUP (ORDER BY col_text) text
      FROM table1
     GROUP BY col_id
    

    出力:

    | COL_ID |            TEXT |
    ----------------------------
    |    111 | This|a|is|test. |
    

    SQLFiddle

    更新 リストで個別のテキスト値を取得する必要がある場合

    SELECT col_id, 
           LISTAGG(col_text, '|')
             WITHIN GROUP (ORDER BY col_text) text
      FROM 
    (
      SELECT DISTINCT col_id, col_text
        FROM table1
    )
     GROUP BY col_id
    

    SQLFiddle



    1. mysqlにレーベンシュタイン関数を追加する方法は?

    2. SQL Serverで連結文字列にセパレータを追加する方法– CONCAT_WS()

    3. PostgreSQLクエリでDESCを注文するときにNULL値が最初に来るのはなぜですか?

    4. MySQL EXP()関数–eをxの累乗に戻す