Boa Tarde Pessoal,
Estou tentando gerar uma consulta onde apareça somente o primeiro e o ultimo nome de um cliente.
Registo : Jose Maria da Silva Barros | Resultado: José Barros.
Estou tentando usar regexp_substr ,substr e nada....
BASE ORACLE
EXTRAIR NOME E SOBRENOME
- tiago_pimenta
- Rank: DBA Júnior
- Mensagens: 217
- Registrado em: Qua, 29 Jun 2011 9:49 am
- Localização: Barretos / SP
Bom dia, tudo bem ???
Não sei se tem uma forma mais fácil, mas eu tentaria pegar as posições dos espaços em branco na string, no exemplo que você deu, o primeiro espaço em branco seria na posição 5. Então eu pegaria o texto da primeira posição até a posição do espaço em branco - 1, que daria 4. Aqui daria para pegar o primeiro nome.
Para pegar o último nome, o último espaço em branco está na posição 20 se não me engano... Então eu pegaria a string da posição em branco + 1 até o tamanho inteiro da string do nome...
Não sei se tem uma forma mais fácil, mas eu tentaria pegar as posições dos espaços em branco na string, no exemplo que você deu, o primeiro espaço em branco seria na posição 5. Então eu pegaria o texto da primeira posição até a posição do espaço em branco - 1, que daria 4. Aqui daria para pegar o primeiro nome.
Para pegar o último nome, o último espaço em branco está na posição 20 se não me engano... Então eu pegaria a string da posição em branco + 1 até o tamanho inteiro da string do nome...
-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Sex, 22 Jan 2021 10:17 am
- Localização: SOROCABA
Boa Tarde,tiago_pimenta escreveu: ↑Seg, 06 Fev 2023 9:45 amBom dia, tudo bem ???
Não sei se tem uma forma mais fácil, mas eu tentaria pegar as posições dos espaços em branco na string, no exemplo que você deu, o primeiro espaço em branco seria na posição 5. Então eu pegaria o texto da primeira posição até a posição do espaço em branco - 1, que daria 4. Aqui daria para pegar o primeiro nome.
Para pegar o último nome, o último espaço em branco está na posição 20 se não me engano... Então eu pegaria a string da posição em branco + 1 até o tamanho inteiro da string do nome...
Na questão dos espaços em branco e as posições é variavel, pois cada nome tem um , dois ,três ou mais palavras.
Fiz dessa forma
SUBSTR( PCEMPR.NOME, 1, INSTR( PCEMPR.NOME,' ')-1) || '' || substr( PCEMPR.NOME, INSTR( PCEMPR.NOME, ' ', -1))
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante