Postgres - Exclusão de uma parte do campo, com base em outro campo.

18/05/2020

0

Pessoal, boa tarde!

Sabem como posso excluir uma parte de um campo com base em outro campo?

Há um campo de endereço que contem por exemplo "Rua José Bonifácio" e outro campo que possui apenas o logradouro "Rua".

Gostaria que o campo endereço ficasse apenas "José Bonifácio". Ou seja, retirando todos os logradouros do campo endereço, com base no conteúdo do campo Logradouro.

Alguém possui alguma sugestão?

Abraços

Bruno Barbosa
Bruno Barbosa

Bruno Barbosa

Responder

Posts

20/05/2020

Jair N.

Bom Dia, referente ao que está no enunciado, o problema é que não existe uma função padrão para isto.
Opção, criar uma função de varredura da tabela, no seu caso de endereços temos:
1º A opção que tudo começa no primeiro caracter do registro;
Ex: Rua ou R., lembrando de outros como Avenida -Av. (maiúsculas, minúsculas, com ponto espaço etc.)
Neste caso se localizar com a função REPLACE() cada uma a ser pesquisada faça uma lista;
Exemplo: TRIM(REPLACE("Rua José Bonifácio" ,"Rua ", ""))

2º Removendo com cuidado pois outras palavras Ex: Rua Ruanda ou com final como Construa, etc.

3º Veja também a questão de números, e caracteres que não fazem parte do nome do logradouro.

4º) Outra opção é a função SUBSTRING(), SUBSTR(), no caso não encontrar começa da posição 0.
Exemplo: SUBSTRING("Rua José Bonifácio", POSITION("Rua " IN "Rua José Bonifácio"));

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar