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
Postar um comentário
Os códigos postados aqui são uma seqüência de instruções de forma ordenada, não compilada para o código de máquina, em uma determinada linguagem de programação.
Ajude a melhorar esses códigos.