sql >> Base de Datos >  >> RDS >> Oracle

Cómo encontrar el recuento y los nombres de caracteres distintos en una cadena en PL/SQL

Puede usar la expresión regular de la siguiente manera:

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;

la respuesta seria:

heloxamp