none
Inversão de caracteres RRS feed

  • Pergunta

  • Estou começando agora em SQL preciso montar um código que coloque o sobrenome na frente do nome, como se fosse um sistema de bliblioteca.

    exemplo:

    Silva, josé

    terça-feira, 5 de outubro de 2010 23:53

Todas as Respostas

  • Julio,

    Você poderia mostrar a estrutura da sua table? De que forma seus dados estão estruturados para que possamos pensar uma solução.

     


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quarta-feira, 6 de outubro de 2010 00:02
  • Olá, Não sei se é bem isso que você precisa, mas segue um exemplo.

     

    create table #Nomes

    (

    Nome Varchar(50)

    )

     

    insert into #Nomes values ('Manoel Gomes')

    insert into #Nomes values ('Jose da Silva')

    insert into #Nomes values ('Carlos Eduardo Ferreira')

     

    select 

    reverse(substring(reverse(Nome), 1, charindex(' ', reverse(Nome))))

    + ', '

    + substring(Nome, 1, len(Nome) - charindex(' ', reverse(Nome)) + 1)

    from 

    #Nomes


    sexta-feira, 8 de outubro de 2010 00:12
  • Pelo pouco que entendi,

    Acho Que seria isso

    Declare @Table Table (Nome VarChar(Max))
    
    Insert Into @Table (Nome) Values ('Fernando Willian de Souza Furtado')
    Insert Into @Table (Nome) Values ('Lui Pazini de Feijó')
    Insert Into @Table (Nome) Values ('Marcos Aurélio de Oliveira')
    Insert Into @Table (Nome) Values ('Tiago Barreto de Oliveira')
    Insert Into @Table (Nome) Values ('Filipe Pessoa de Rodrigues')
    Insert Into @Table (Nome) Values ('Douglas da Silva Simões')
    Insert Into @Table (Nome) Values ('Anderson Pedrassi Luis')
    Insert Into @Table (Nome) Values ('Julio Eduardo Vieira')
    
    Select Right(Nome,CharIndex(' ',Reverse(Nome)))+', '+Left(Nome,CharIndex(' ',Nome)) As Inverso,
    Right(Nome,CharIndex(' ',Reverse(Nome)))+', '+Reverse(Substring(Reverse(Nome),CharIndex(' ',Reverse(Nome)),Len(Nome))) Inverso2
    From @Table
    
    

    Este é o resultado

    Inverso                   Inverso2

    -------------------      ----------------------------------------------

    Furtado, Fernando    Furtado, Fernando Willian de Souza
    Feijó, Lui                 Feijó, Lui Pazini de
    Oliveira, Marcos       Oliveira, Marcos Aurélio de
    Oliveira, Tiago         Oliveira, Tiago  Barreto de
    Rodrigues, Filipe      Rodrigues, Filipe Pessoa de
    Simões, Douglas     Simões, Douglas da Silva
    Luis, Anderson        Luis, Anderson Pedrassi
    Vieira, Julio            Vieira, Julio Eduardo

    Abs,


    Espero ter ajudado Fernando Willian de Souza Furtado Se útil, classifique!!!
    quinta-feira, 14 de outubro de 2010 15:56