Quantidade de Ocorrências

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Ter, 21 Mar 2006 4:05 pm

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'.
moacirm
Localização: Joinville - SC

Mensagemem Ter, 21 Mar 2006 5:24 pm

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.
Código: Selecionar todos
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.
Código: Selecionar todos
SQL> SELECT INSTR('ABCDEFGxxxABCD', 'C', 4) FROM DUAL;

INSTR('ABCDEFGXXXABCD','C',4)
-----------------------------
                           13

SQL>


:-o
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered

Mensagemem Sex, 31 Mar 2006 11:07 pm

Quem sabe assim?

Código: Selecionar todos
SQL> select length('12341325448') - length(replace('12341325448', '4', null)) from dual;

LENGTH('12341325448')-LENGTH(REPLACE('12341325448','4',NULL))
-------------------------------------------------------------
                                                            3

1 row selected.
mportes
Localização: São Paulo


Mensagemem Qua, 10 Jun 2009 12:14 pm

Marcio Portes

tu é o cara .. valeu demais ...
anderson.diniz
Localização: UBERLANDIA - MG

Anderson Diniz Nunes



Voltar para SQL

Quem está online

Usuários navegando neste fórum: Google [Bot] e 3 visitantes