sql >> Databasteknik >  >> RDS >> Oracle

Ändra separator för WM_CONCAT-funktionen för Oracle 11gR2

Du kanske vill använda LISTAGG .

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

Utdata:

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

SQLFiddle

UPPDATERA Om du behöver få distinkta textvärden i en lista

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. ORA-00904:ogiltig identifierare

  2. Vad är SQLite

  3. Hur SUBSTR()-funktionen fungerar i MySQL

  4. Hur man gör en accentkänslig sökning i MySql