none
Retornar somente o primeiro nome do usuário RRS feed

  • Pergunta

  • Olá pessoal,

    Tenho em minha tabela de usuários o campo nome, onde é gravado o nome completo do mesmo.
    É possível fazer uma instrução de consulta que retorne somente o primeiro nome do usuário?

    Obrigada!

    quinta-feira, 18 de dezembro de 2008 18:13

Respostas

  • dá uma olhada nesse exemplo e vê se ajuda:

    Select Substring('JOSÉ DA SILVA', 1, Charindex(' ', 'JOSÉ DA SILVA') -1)

    ele deve retornar 'JOSÉ'

    quinta-feira, 18 de dezembro de 2008 18:31
  • eu nao sei o nome da sua tabela, mas vamos dizer que seja CADASTRO e o campo NOME:

    Select Substring(NOME, 1, Charindex(' ', NOME) - 1) As PRIMEIRO_NOME From CADASTRO

    algo assim...
    quinta-feira, 18 de dezembro de 2008 18:37
  • olha, dei uma "aperfeiçoada" no script, pra ficar melhor ainda:

    Select Substring(Ltrim(Rtrim(NOME)), 1, Case When (Charindex(' ', Ltrim(Rtrim(NOME))) - 1) < 0 Then Len(Ltrim(Rtrim(NOME))) Else Charindex(' ', Ltrim(Rtrim(NOME))) - 1 End) From CADASTRO

    para o caso de ter no cadastro apenas um nome cadastrado, sem sobrenome, estava dando erro... e tambem pus uns "trims" para o caso de alguem cadastrar o nome com um espaço na frente...
    quinta-feira, 18 de dezembro de 2008 18:47

Todas as Respostas

  • dá uma olhada nesse exemplo e vê se ajuda:

    Select Substring('JOSÉ DA SILVA', 1, Charindex(' ', 'JOSÉ DA SILVA') -1)

    ele deve retornar 'JOSÉ'

    quinta-feira, 18 de dezembro de 2008 18:31
  • eu nao sei o nome da sua tabela, mas vamos dizer que seja CADASTRO e o campo NOME:

    Select Substring(NOME, 1, Charindex(' ', NOME) - 1) As PRIMEIRO_NOME From CADASTRO

    algo assim...
    quinta-feira, 18 de dezembro de 2008 18:37
  • olha, dei uma "aperfeiçoada" no script, pra ficar melhor ainda:

    Select Substring(Ltrim(Rtrim(NOME)), 1, Case When (Charindex(' ', Ltrim(Rtrim(NOME))) - 1) < 0 Then Len(Ltrim(Rtrim(NOME))) Else Charindex(' ', Ltrim(Rtrim(NOME))) - 1 End) From CADASTRO

    para o caso de ter no cadastro apenas um nome cadastrado, sem sobrenome, estava dando erro... e tambem pus uns "trims" para o caso de alguem cadastrar o nome com um espaço na frente...
    quinta-feira, 18 de dezembro de 2008 18:47
  • Perfeito Anderson!

    Muito obrigada!

    quinta-feira, 18 de dezembro de 2008 18:55