Selecionando parte de um campo varchar no banco
14/02/2017
0
Pessoal,
Gostaria da ajuda de vocês na seguinte questão. Preciso pegar uma parte apenas de um campo varchar, como no exemplo abaixo:
Tabela de origem:
NOME
JORGE LUIZ MAGALHÃES DA SILVA
ELZA APARECIDA GONÇALVES MARQUES
Resultado do select:
MAGALHÃES
GONÇALVES
Como posso fazer para pegar esse resultado?
Agradeço desde já!
Gostaria da ajuda de vocês na seguinte questão. Preciso pegar uma parte apenas de um campo varchar, como no exemplo abaixo:
Tabela de origem:
NOME
JORGE LUIZ MAGALHÃES DA SILVA
ELZA APARECIDA GONÇALVES MARQUES
Resultado do select:
MAGALHÃES
GONÇALVES
Como posso fazer para pegar esse resultado?
Agradeço desde já!
Tiago Dias
Curtir tópico
+ 0
Responder
Post mais votado
14/02/2017
Oi Tiago, tudo bem?
Não sei se entendi muito bem, mas vamos lá... Pelo que vi, você quer 'pegar' um dos sobrenome da pessoa certo? Nesse caso, a terceira ocorrência após o espaço certo? Como você não tem uma palavra para usar o like o único modo que eu achei de fazer é com regex, não sei se é o melhor jeito, mas talvez te ajude a ter uma ideia melhor.
Segue um exemplo ( em Oracle, mas deve ter um equivalente em SQL)
Onde '[^[:space:]]+' é o pattern a ser procurado
1--> É o start da string
3--> Número da ocorrência que você quer obter,
JORGE - 1 ocorrência
LUIZ - 2 ocorrência
MAGALHÃES - 3 ocorrência
DA - 4 ocorrência
SILVA - 5 ocorrência
Não sei se entendi muito bem, mas vamos lá... Pelo que vi, você quer 'pegar' um dos sobrenome da pessoa certo? Nesse caso, a terceira ocorrência após o espaço certo? Como você não tem uma palavra para usar o like o único modo que eu achei de fazer é com regex, não sei se é o melhor jeito, mas talvez te ajude a ter uma ideia melhor.
Segue um exemplo ( em Oracle, mas deve ter um equivalente em SQL)
select regexp_substr(t.name, '[^[:space:]]+', 1, 3 ), t.name from tabela t
Onde '[^[:space:]]+' é o pattern a ser procurado
1--> É o start da string
3--> Número da ocorrência que você quer obter,
JORGE - 1 ocorrência
LUIZ - 2 ocorrência
MAGALHÃES - 3 ocorrência
DA - 4 ocorrência
SILVA - 5 ocorrência
Aline Bianchini
Responder
Mais Posts
24/02/2017
Tiago Dias
Oi Aline, desculpa a demora. Então no caso só desse jeito mesmo né, usando patterns para verificar o padrão que está vindo na consulta.
Vou ver como é no SQL Server e te falo como é :)
Obrigado!
Vou ver como é no SQL Server e te falo como é :)
Obrigado!
Responder
09/03/2017
David Styveen
Bom dia, Aline e Tiago.
Existem as opções de CHARINDEX, LEFT, RIGHT, SUBSTRING, INVERSE.
Precisaria entender melhor a necessidade para melhor ajudá-lo como por exemplo, se existirem apenas dois nomes o que deve retornar?
Abraços
Existem as opções de CHARINDEX, LEFT, RIGHT, SUBSTRING, INVERSE.
Precisaria entender melhor a necessidade para melhor ajudá-lo como por exemplo, se existirem apenas dois nomes o que deve retornar?
Abraços
Responder
Clique aqui para fazer login e interagir na Comunidade :)