Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como encontrar contagem e nomes de caracteres distintos em string em PL/SQL


Você pode usar a expressão regular da seguinte forma:
SET serveroutput ON
DECLARE
     str        VARCHAR2(20):='helloexample';
     str_length NUMBER;
     c          VARCHAR2(20):=NULL;
     d          NUMBER;
BEGIN
     str_length:=LENGTH(str);
     FOR i IN 1..str_length
     LOOP
          IF regexp_instr(c,SUBSTR(str,i,1))>0 THEN
               NULL;
          ELSE
               c:=c||SUBSTR(str,i,1);
          END IF;
     END LOOP;
     dbms_output.put_line(c);
END;

a resposta seria:
heloxamp