Boa tarde pessoal,
Tenho que criar uma função que faça uma validação de dígitos repetidos dentro de um número, onde se houver 4 dígitos repetidos ou mais dentro desse número, a função retorne TRUE.
Ex:
Se eu receber o número 12345555678, a minha função deve retornar TRUE porque há o número cinco se repetindo 4 vezes. Isso deve valer pra qualquer posição em que o número repetido vai partir.
Alguém já teve que fazer algo parecido?
Obrigado!
Função para validar dígitos repetidos dentro de um número
-
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Ter, 19 Jun 2007 2:12 pm
- Localização: São Paulo - SP
bom dia klstos_95,
Faça um teste com esta função, se atender você adapta o retorno pra atender o que você precisa.
Eu testei no Oracle 11
Boa sorte!
Faça um teste com esta função, se atender você adapta o retorno pra atender o que você precisa.
Eu testei no Oracle 11
Create or replace
Function Fn_Conta_String(P_String In varchar2, P_Ocorrencia In Number) return varchar2 is
Cursor c is
select count(*) Qt_Ocor, b.string
from ( select a.string
from (select distinct level, substr( p_String,level,1 ) string
from dual
connect by level < length(p_string) + 1 ) a ) b
group by b.string
order by b.string;
c_r c%rowtype;
--
v_retorno varchar2(2000);
Begin
open c;
loop
fetch c into c_r;
exit when c%notfound;
--
if c_r.qt_ocor >= p_ocorrencia then
v_retorno := v_retorno||' string '||c_r.string||' '||to_char(c_r.qt_ocor)||'x';
end if;
end loop;
close c;
--
if v_retorno is not null then
return 'para '||p_string||' foi localizado '||v_retorno;
else
return null;
end if;
End;
/
select Fn_Conta_String('12345555678', 4) from dual;
Editado pela última vez por DanielNN em Ter, 07 Nov 2017 8:06 am, em um total de 1 vez.
Razão: Falta da tag [code]
Razão: Falta da tag [code]
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes