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'.
Quantidade de Ocorrências
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
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.
Neste caso, vai procurar onde está a letra C dentro da string, começando pelo caracter 4 em diante.
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.
SQL> SELECT INSTR('ABCDEFG', 'C') FROM DUAL
2 /
INSTR('ABCDEFG','C')
--------------------
3
SQL>
SQL> SELECT INSTR('ABCDEFGxxxABCD', 'C', 4) FROM DUAL;
INSTR('ABCDEFGXXXABCD','C',4)
-----------------------------
13
SQL>
-
- Rank: Estagiário Sênior
- Mensagens: 13
- Registrado em: Ter, 01 Nov 2005 11:53 pm
- Localização: São Paulo
- Contato:
Quem sabe assim?
SQL> select length('12341325448') - length(replace('12341325448', '4', null)) from dual;
LENGTH('12341325448')-LENGTH(REPLACE('12341325448','4',NULL))
-------------------------------------------------------------
3
1 row selected.
-
- Rank: Estagiário Júnior
- Mensagens: 1
- Registrado em: Qua, 10 Jun 2009 12:12 pm
- Localização: UBERLANDIA - MG
Anderson Diniz Nunes
Marcio Portes
tu é o cara .. valeu demais ...
tu é o cara .. valeu demais ...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes