Página 1 de 1
Quantidade de Ocorrências
Enviado: Ter, 21 Mar 2006 4:05 pm
por moacirm
Algém sabe me dizer se existe alguma função do Oracle que retorna o numero de ocorrências de uma letra ou numero dentro de uma string?
Ex: tenho uma string '12341325448' e quero saber quantas vezes aparecem o numero '4'.
Enviado: Ter, 21 Mar 2006 5:24 pm
por dr_gori
Não possui essa função.
Mas é possível facilmente você criar uma função que faça isso, pois no oracle existe a função INSTR. (que retorna qual é a posição de uma string dentro de outra)...
Ou seja, basta você fazer um LOOP e contar.
Neste caso, vai procurar onde está a letra C na string passada.
Selecionar tudo
SQL> SELECT INSTR('ABCDEFG', 'C') FROM DUAL
2 /
INSTR('ABCDEFG','C')
--------------------
3
SQL>
Neste caso, vai procurar onde está a letra C dentro da string, começando pelo caracter 4 em diante.
Selecionar tudo
SQL> SELECT INSTR('ABCDEFGxxxABCD', 'C', 4) FROM DUAL;
INSTR('ABCDEFGXXXABCD','C',4)
-----------------------------
13
SQL>
Enviado: Sex, 31 Mar 2006 11:07 pm
por mportes
Quem sabe assim?
Selecionar tudo
SQL> select length('12341325448') - length(replace('12341325448', '4', null)) from dual;
LENGTH('12341325448')-LENGTH(REPLACE('12341325448','4',NULL))
-------------------------------------------------------------
3
1 row selected.
Agradecimentos
Enviado: Qua, 10 Jun 2009 12:14 pm
por anderson.diniz
Marcio Portes
tu é o cara .. valeu demais ...