Página 1 de 1

EXTRAIR NOME E SOBRENOME

Enviado: Sex, 03 Fev 2023 4:43 pm
por leodamian
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

Re: EXTRAIR NOME E SOBRENOME

Enviado: Seg, 06 Fev 2023 9:45 am
por tiago_pimenta
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...

Re: EXTRAIR NOME E SOBRENOME

Enviado: Seg, 06 Fev 2023 4:48 pm
por leodamian
tiago_pimenta escreveu:
Seg, 06 Fev 2023 9:45 am
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...
Boa Tarde,
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

Selecionar tudo

SUBSTR( PCEMPR.NOME, 1, INSTR( PCEMPR.NOME,' ')-1) || '' || substr( PCEMPR.NOME, INSTR( PCEMPR.NOME, ' ', -1))
, peguei o primeiro nome e concatenei com o ultimo, pois não consegui fazer em um só instrução.