Bom dia turma...
Preciso contar 1 determinado caracter em uma palavra... não estou falando instr
Exe.: preciso saber quantos "a" tem na palavra "abracadabra"....neste caso me retornando 5
abraços
Contar caracter específico
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Como o tópico está em PL/SQL, segue uma dica:
Em SQL provavelmente o faça com expressão regular, porém, para tal o bd tem que ser 10g.
Qualquer coisa, manda pra gente.
Abraço,
Como o tópico está em PL/SQL, segue uma dica:
declare
vContador pls_integer := 0;
vString varchar2(100) := 'abracadabra';
vCaracterContar char(1) := 'B';
begin
--
for x in 1..length(vString)
loop
--
if ( substr(vString,x,1) = vCaracterContar or
upper(substr(vString,x,1)) = vCaracterContar )
then
vContador := vContador + 1;
end if;
end loop;
--
dbms_output.put_line(vContador);
--
end;
Qualquer coisa, manda pra gente.
Abraço,
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Alguma função pronta, creio que não tem não (específica pra isso).
Mas, se for em SQL ainda, dá pra fazer tb algo do tipo:
abraço,
Alguma função pronta, creio que não tem não (específica pra isso).
Mas, se for em SQL ainda, dá pra fazer tb algo do tipo:
--
select (length('abracadabra') - length(replace('abracadabra', 'a')))
from dual;
--
-
- Moderador
- Mensagens: 641
- Registrado em: Seg, 03 Set 2007 3:26 pm
- Localização: Fortaleza - CE
att,
Daniel N.N.
Daniel N.N.
Opa,
Existe a função de expressão regular que creio resolver teu problema(para versão 11 do banco).
Existe a função de expressão regular que creio resolver teu problema(para versão 11 do banco).
Tentaí:REGEXP_COUNT(<string>, <padrão>[[, <posição_inicial>], [<parâmetro de comparação>]])
-- parâmetro de comparação:
'c' = case sensitive
'i' = case insensitive search
'm' = treats the source string as multiple lines
'n' = allows the period (.) wild character to match newline
'x' = ignore whitespace characters
SELECT REGEXP_COUNT('abracadabra','a',1,'i')
FROM dual;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Majestic-12 [Bot] e 12 visitantes