locked
Função: Abreviar Nomes RRS feed

  • Pergunta

  •  

    Olá; boa tarde!

     

    Alguém pode me indicar algum exemplo de função para abreviar nomes ?

     

    Desde já grato.

    terça-feira, 7 de agosto de 2007 17:57

Respostas

  • era isso ?

     

     

    alter function ufn_abrvianome (@nome varchar(1000))
    returns varchar(100)
    begin
      Declare @ret varchar(100)
      Select @Ret = Substring(@nome, 1,Charindex(' ', @Nome,1)) + Substring(@nome, Charindex(' ', @Nome,1),24)

    Return @ret
    end

     

    Select dbo.ufn_abrvianome('marcelo colla')
    Select dbo.ufn_abrvianome('marcelo colla teste teste teste teste teste teste')

     

    Abs/

     

    quarta-feira, 8 de agosto de 2007 10:35

Todas as Respostas

  • segue:

     

     


    create function ufn_abrvianome (@nome varchar(1000))
    returns varchar(100)
    begin
      Declare @ret varchar(100)
      Select @Ret = Upper(Left(@nome,1)) + '.'+ Ltrim(Substring(@nome, Charindex(' ', @Nome,1),len(@nome)))

    Return @ret
    end

     

    Select dbo.ufn_abrvianome('marcelo colla')

     

     

    Abs;

    terça-feira, 7 de agosto de 2007 18:09
  •  

    - Ok! Marcelo! entendi.... mas você poderia mostrar exemplo de função para abreviar o sobrenome também ?

     

     

    terça-feira, 7 de agosto de 2007 18:24
  •  

    qual a regra ?
    terça-feira, 7 de agosto de 2007 18:30
  •  

    Na coluna nome, posso apenas ter 24 caracteres, logo o primeiro nome não será necessário abreviar, já os demais posso efetuar até 2 apreviações, para chegar ao máximo de 24 caracteres.

     

     

    terça-feira, 7 de agosto de 2007 18:42
  • era isso ?

     

     

    alter function ufn_abrvianome (@nome varchar(1000))
    returns varchar(100)
    begin
      Declare @ret varchar(100)
      Select @Ret = Substring(@nome, 1,Charindex(' ', @Nome,1)) + Substring(@nome, Charindex(' ', @Nome,1),24)

    Return @ret
    end

     

    Select dbo.ufn_abrvianome('marcelo colla')
    Select dbo.ufn_abrvianome('marcelo colla teste teste teste teste teste teste')

     

    Abs/

     

    quarta-feira, 8 de agosto de 2007 10:35
  • ok! Marcelo! Grato.

     

    quinta-feira, 9 de agosto de 2007 00:08