Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zmień separator funkcji WM_CONCAT w Oracle 11gR2

Możesz użyć LISTAGG .

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

Wyjście:

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

SQLFiddle

AKTUALIZUJ Jeśli chcesz uzyskać różne wartości tekstowe na liście

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znajdowanie wierszy, które nie zawierają danych liczbowych w Oracle

  2. Spór o sekwencję RAC

  3. Funkcja POWER() w Oracle

  4. Jak przekonwertować liczbę na ciąg w Oracle?

  5. Jak wstawić ciąg zawierający &