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

Làm cách nào để lấy các ký tự duy nhất từ ​​một chuỗi trong Oracle?

SELECT SUBSTR(REGEXP_SUBSTR('CCCCXXXCCCCCCCCCCCCCCCCXXCCCCCCCCCCCCCCCCCCCCCCC', '^(.)\1*.'), -2, 2) RESULT
FROM DUAL;

Nó trả về CX

Đây là một giải pháp khác:

Select Replace (Wm_Concat (C), ',', '')
From
  (Select Substr ('CCCXCCCXXXCCCCCCCCCCCCCCCCXXCCCCCCCCCCCCCCCC', Rownum, 1) C,
    Min (Rownum) Rn
  From Dual
    Connect By Rownum <= Length ( 'CCCXCCCXXXCCCCCCCCCCCCCCCCXXCCCCCCCCCCCCCCCC')
  Group By Substr ( 'CCCXCCCXXXCCCCCCCCCCCCCCCCXXCCCCCCCCCCCCCCCC', Rownum, 1)
  Order By Rn
  ) X;

Nó trả về tất cả các ký tự duy nhất theo thứ tự xuất hiện của chúng. Btw, vâng, trông thật kinh khủng




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểu trả về của con trỏ Oracle

  2. 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 regexp_replace?

  3. ORA xóa / cắt ngắn

  4. Thoát các ký tự điều khiển trong Oracle XDB

  5. Truy vấn các chuỗi con so với danh sách các giá trị