Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Thay đổi dấu phân cách của hàm WM_CONCAT của Oracle 11gR2

Bạn có thể muốn sử dụng LISTAGG .

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

Đầu ra:

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

SQLFiddle

CẬP NHẬT Nếu bạn cần nhận các giá trị văn bản riêng biệt trong danh sách

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. Cách sử dụng Giải mã trong Oracle

  2. Cách di chuyển cơ sở dữ liệu Oracle từ AWS EC2 sang AWS RDS

  3. Oracle lấy khóa ngoại

  4. làm thế nào để nối nhiều hơn hai cột trong nhà phát triển plsql?

  5. Oracle PL / SQL lấy IP v4 của máy chủ?