sql >> Database teknologi >  >> RDS >> Oracle

Skift separator for WM_CONCAT-funktionen i Oracle 11gR2

Du vil måske bruge LISTAGG .

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

Output:

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

SQLFiddle

OPDATERING Hvis du har brug for at få distinkte tekstværdier i en liste

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. ASIN() Funktion i Oracle

  2. Fuzzy matching ved hjælp af T-SQL

  3. Eksport af en PostgreSQL-forespørgsel til en csv-fil ved hjælp af Python

  4. Forskellen i håndteringen af ​​mellemrummene mellem Oracle og SQL Server