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

Làm cách nào để xóa các bản sao khỏi danh sách được phân tách bằng dấu phẩy bằng regex trong Oracle nhưng tôi không muốn các giá trị trùng lặp?

Hãy thử điều này, theo bài viết http://www.dba-oracle.com/t_extract_comma_delimited_strings_oracle_sql.html:

select distinct str from
(select regexp_substr ('ABCD1234, XYZ, ABCD1234, ABCD1234C, ABCD1234, abc, abcX, 1234U, 1234', '[^, ]+',1, rownum) str 
from dual 
connect by level <= regexp_count ('ABCD1234, XYZ, ABCD1234, ABCD1234C, ABCD1234, abc, abcX, 1234U, 1234', '[^, ]+')) v;

Fiddle:http://sqlfiddle.com/#!4/c858d/5



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy xuất danh sách các thủ tục / chức năng riêng tư từ một phần thân gói

  2. Giới thiệu về câu lệnh FORALL trong cơ sở dữ liệu Oracle

  3. Làm cách nào để xem các truy vấn được thực thi với Oracle?

  4. Chuyển đổi số thành từ trong kết quả MYSQL! Sử dụng truy vấn

  5. Cách viết một ứng dụng .Net hoạt động với cả SqlServer và Oracle (hiện nay System.Data.OracleClient không được dùng nữa)