Funcão SQL para abreviar nomes


CREATE   FUNCTION dbo.Abrevia

( @nome varchar(200) )

RETURNS varchar(25)

AS

BEGIN

declare @aux varchar(120)

declare @aux2 varchar(25)

declare @fim varchar(25)

 

--Pegar o primeiro nome

set @fim=left(@nome,charindex(' ',@nome)) 

set @aux=@fim --Inicializa variável

set @aux2='' --Inicializa variável

--Enquanto tem nomes do meio

while len(@aux)>0 

begin

--pega primeiro nome

set @aux=left(@nome,charindex(' ',@nome))

--remove primeiro nome 

set @nome=ltrim(replace(@nome,@aux,'')) 

--exclui de,da,dos(da silva, dos santos..)

if charindex(' ',@nome)>4

begin

--Abrevia com .

set @aux2=@aux2+substring(@nome,1,1)+'. ' 

end

end

--concatena tudo(primeiro nome+abreviações+último 

select @fim=@fim+@aux2+@nome nome)

RETURN ( @fim )

END

Comentários

Postagens mais visitadas deste blog

Função em JavaScript para consulta de CEP com retorno em XML ou Json