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

Jak mogę uzyskać unikalne znaki z ciągu w Oracle?

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

Zwraca CX

Oto inne rozwiązanie:

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;

Zwraca wszystkie unikalne znaki w kolejności ich występowania. Btw, tak, wygląda okropnie




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z kolumny Oracle XMLType w trybie hibernacji

  2. Jak uzyskać kwartał od daty w Oracle?

  3. NHibernate 3.2 i wyrocznia stronicowania

  4. Określanie dat Wielkanocy na dowolny rok w Oracle PLSQL

  5. Oracle SQL:Jak odczytywać i zwiększać pole