› Fóruns › SQL e PL/SQL › Comando Select › Comando Select
Fala brother, blz?
Então cara, quanto à parte da string, vai abaixo uma dica…
Quanto à parte numérica… com este exemplo você pode montar…
Talvez não seja a melhor forma de se fazer, mas, fica como dica….
DECLARE
v_string VARCHAR2(10) := 'TRE12SOLL9';
v_string_analisada VARCHAR2(30);
v_tam NUMBER(03) := 0;
v_conta NUMBER(03) := 0;
BEGIN
SELECT TRANSLATE(v_string, '1234567890', '----------')
INTO v_string_analisada
FROM dual;
v_tam := LENGTH(v_string_analisada);
FOR x IN 1..v_tam
LOOP
if SUBSTR(v_string_analisada,x,1) = '-'
THEN
v_conta := v_conta + 1;
END IF;
END LOOP;
IF v_conta = 0
THEN
dbms_output.put_line('Ok. Só digitou letras.');
ELSE
dbms_output.put_line('Login inválido, encontrado(s) '||v_conta||' número(s). ');
END IF;
END;
Abraços,
Trevisolli.