Como descobrir quantas vezes um caracter se repete
Estava procurando na internet alguma função que me mostre quantas vezes, determinado caracter, se repete em um campo do tipo VARCHAR. Por exemplo, quantas vezes o sinal "?" (interrogação) apareceu? Quantos * (asterísticos) foram digitados e por aí vai.
Normalmente para se saber a quantidade de caracteres de um determinado item basta se usar a função LEN, mas esta me trás o tamanho do registro, por exemplo:
O meu resultado será 9 - lembre-se que ele conta o espaço como um caracter. Mas esta não me resolvia pois eu quero saber quantas vezes um item foi repetido e não a quantidades de itens na frase. Pesquisando achei o seguinte script:
O resulta desta consulta será 8, pois o sinal ? aparece 8 vezes no texto informado. Se você deseja que seja realizado a mesma consulta em uma tabela já fica seque a dica:
Espero que estas funções tenham ajudado alguém assim como me ajudou.
Gostou do mesmo, comente aí em baixo.
Normalmente para se saber a quantidade de caracteres de um determinado item basta se usar a função LEN, mas esta me trás o tamanho do registro, por exemplo:
SELECT LEN('MEU CAMPO') TOTAL
O meu resultado será 9 - lembre-se que ele conta o espaço como um caracter. Mas esta não me resolvia pois eu quero saber quantas vezes um item foi repetido e não a quantidades de itens na frase. Pesquisando achei o seguinte script:
DECLARE @TextoProcura VARCHAR(500) , @CaracterBusca VARCHAR(1)
SET @CaracterBusca='?'
SET @TextoProcura='Conteúdo?do?registro?em?questao?para?contar?o?caracter'
SELECT LEN(@TextoProcura) - LEN(REPLACE(@TextoProcura, @CaracterBusca, '')) repeticoes
SET @CaracterBusca='?'
SET @TextoProcura='Conteúdo?do?registro?em?questao?para?contar?o?caracter'
SELECT LEN(@TextoProcura) - LEN(REPLACE(@TextoProcura, @CaracterBusca, '')) repeticoes
O resulta desta consulta será 8, pois o sinal ? aparece 8 vezes no texto informado. Se você deseja que seja realizado a mesma consulta em uma tabela já fica seque a dica:
SELECT NOME_DO_CAMPO, (LEN(NOME_DO_CAMPO) - LEN(REPLACE(NOME_DO_CAMPO,'.','') )) repeticoes FROM SUA_TABELA
Espero que estas funções tenham ajudado alguém assim como me ajudou.
Gostou do mesmo, comente aí em baixo.
Nenhum comentário