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
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
Curtir tópico
+ 0
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"));
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
Clique aqui para fazer login e interagir na Comunidade :)