quinta-feira, 18 de junho de 2009

Contando o número de ocorrências de um caracter em uma determinada String

Como contar o número de ocorrências de um caracter em uma determinada String? Vamos imaginar que precisamos saber quantas vezes a letra "r" aparece nos nomes de um banco de dados de clientes.

Podemos criar a função abaixo para esta finalidade:


CREATE FUNCTION [dbo].[fncContaChar] ( @pString VARCHAR(1000), @pCharBusca CHAR(1) )
RETURNS INT
BEGIN

DECLARE @pStringLength INT
DECLARE @vIndex INT
DECLARE @vCount INT

SET @vCount = 0
SET @vIndex = 1
SET @pStringLength = LEN(@pString)

WHILE @vIndex <= @pStringLength
BEGIN

IF SUBSTRING(@pString, @vIndex, 1) = @pCharBusca
SET @vCount = @vCount + 1

SET @vIndex = @vIndex + 1

END

RETURN @vCount

END



Podemos utilizá-la da seguinte forma:

select dbo.fncContaChar('Rodrigo','r')

Resultado apresentado será: "2"

Nenhum comentário:

Postar um comentário

Leave your comment here!