Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Apagar caracteres


JANGM

Pergunta

Boa tarde, Pessoal

Preciso

Urgente saber uma forma de deletar partes de uma string apartir de um lugar que eu coloque

Tenho um tabela com o campo endereço mais o preciso separa logradouro, nome da rua, numero e complemento nos seus devido campos.

Quero saber se tem como fazer isto: Obs: o logradouro eu consigo usando (replace) mais na hora de separar os numero e complemento fica dificil pois não consigo uma solução para que a meu update pegue da ',' em diante.

Exemplo

tipo minha string é assim 'rua antonio, 0000 qu 2' , o que preciso e separar rua o nome ' antonio' o numero '0000' e o complemento 'qu 2'

Por favor se alguém poder me ajudar ficarei muito gratoooo.....

Vlw

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Bom dia Amigo,

Manipular strings no sql é sempre complicado. Nestes casos, prefira sempre modelar a base de forma em que as informações sejam separadas, para que não tenha trabalho deste tipo. As vezes pegamos sistemas já prontos com estas bombas.... aí é só chorar mesmo... rs.

Mas vamos ao que interessa!! Quais os comandos utilizados:

- charindex: retorna o indice (ponto) da string em que foi encontrado o caracter. Caso você pesquise na sua string o espaço, ele retornará a primeira posição que encontrá-lo (no exemplo, a posição 4), começando da esquerda para a direita.

- substring: resgata "pedações" da sua string.

- ltrim: retira espaços em branco no começo da string.

Criei umas variávies para que visualize melhor o resultado. Copie o script, cole e mande executar tudo. Para fazer mais testes, basta alterar os valores da variável @Endereco.

OBS.: As posições estão demarcadas pela forma em que a string foi gravada:

rua ESPAÇO antonio VIRGULA ESPAÇO 0000 ESPAÇO qu 2

Cuidado com isto, pois caso tenha alguma alteração na forma de gravação do string, a manipulação pode não retornar o valor desejado!!

Qualquer dúvida, pode postar... :.)

Declare @Endereco varchar(100)
Declare @Logradouro varchar(100)
Declare @Numero int
Declare @Complemento varchar(20)

Set @Endereco= 'rua antonio, 000 qu 2'
Set @Logradouro = (ltrim(substring (@Endereco, charindex(' ',@Endereco), (charindex(',',@Endereco)-charindex(' ',@Endereco)))))

Set @Endereco = substring (@Endereco, charindex(',',@Endereco), len(@Endereco))
Set @Endereco = ltrim(substring (@Endereco, charindex(' ',@Endereco), len(@Endereco)))

Set @Numero = (ltrim(substring (@Endereco, 1,charindex(' ',@Endereco))))
Set @Complemento = (ltrim(substring (@Endereco, charindex(' ',@Endereco), len(@Endereco))))

select @Logradouro, @Numero, @Complemento

Link para o comentário
Compartilhar em outros sites

  • 0

você pode criar uma Procedure, onde passa a string e ela te retorna os valores.

No caso de fazer @endereco = ENDERECO, o certo seria Set @endereco = ENDERECO.

Copia o script abaixo e roda. A procedure "SeparaEndereco" será criada.

create Proc SeparaEndereco (@Endereco varchar(100))
as
Declare @Logradouro varchar(100)
Declare @Numero int
Declare @Complemento varchar(20)

Set @Logradouro = (ltrim(substring (@Endereco, charindex(' ',@Endereco), (charindex(',',@Endereco)-charindex(' ',@Endereco)))))

Set @Endereco = substring (@Endereco, charindex(',',@Endereco), len(@Endereco))
Set @Endereco = ltrim(substring (@Endereco, charindex(' ',@Endereco), len(@Endereco)))

Set @Numero = (ltrim(substring (@Endereco, 1,charindex(' ',@Endereco))))
Set @Complemento = (ltrim(substring (@Endereco, charindex(' ',@Endereco), len(@Endereco))))

select @Logradouro, @Numero, @Complemento
Depois para executar a procedure:
exec SeparaEndereco 'rua antonio, 000 qu 2'

Qualquer dúvida, pode postar... :.)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...