sql >> Database >  >> RDS >> Oracle

Wijzig het scheidingsteken van de WM_CONCAT-functie van Oracle 11gR2

Misschien wilt u LISTAGG . gebruiken .

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

Uitgang:

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

SQLFiddle

UPDATE Als u verschillende tekstwaarden in een lijst wilt krijgen

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. Active Data Guard Physical Standby instellen in RAC One Node Architecture - Deel 1

  2. Hoe maak je een back-up van een enkele tabel in een postgres-database?

  3. Een datum in Brits formaat weergeven in SQL Server (T-SQL)

  4. Syntaxisfout aan het einde van invoer in PostgreSQL