none
Retornar somente o primeiro nome do usuário

    Question

  • 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!

    Thursday, December 18, 2008 6:13 PM

Answers

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

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

    ele deve retornar 'JOSÉ'

    Thursday, December 18, 2008 6:31 PM
  • 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...
    Thursday, December 18, 2008 6:37 PM
  • 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...
    Thursday, December 18, 2008 6:47 PM

All replies

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

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

    ele deve retornar 'JOSÉ'

    Thursday, December 18, 2008 6:31 PM
  • 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...
    Thursday, December 18, 2008 6:37 PM
  • 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...
    Thursday, December 18, 2008 6:47 PM
  • Perfeito Anderson!

    Muito obrigada!

    Thursday, December 18, 2008 6:55 PM