sql >> Databáze >  >> RDS >> Oracle

Jak mohu získat jedinečné znaky z řetězce v Oracle?

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

Vrací CX

Zde je další řešení:

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;

Vrátí všechny jedinečné znaky v pořadí jejich výskytu. Btw, ano, vypadá to hrozně




  1. Jak používat MySQL Found_Rows() v PHP?

  2. Vytvoření systému zasílání zpráv v DB (zejména MySQL)

  3. Funkce MySQL ATAN2() – Vrátí Arc tangens 2 hodnot

  4. Chyba připojení k MySQL, kterou jsem nikdy neviděl