sql >> Databáze >  >> RDS >> Oracle

Změňte oddělovač funkce WM_CONCAT Oracle 11gR2

Možná budete chtít použít LISTAGG .

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

Výstup:

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

SQLFiddle

AKTUALIZACE Pokud potřebujete získat odlišné textové hodnoty v seznamu

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. 3 způsoby, jak zjistit, zda se řetězec shoduje s regulárním výrazem v MySQL

  2. Nejjednodušší způsob, jak provést rekurzivní vlastní spojení?

  3. Jak importovat soubor CSV do tabulky MySQL

  4. Existuje způsob, jak získat číslo řádku v Mysql jako rownum v oracle