none
AUXILIO UPTADE! RRS feed

  • Pergunta

  • Olá pessoal tenho uma duvida quanto a um update seguinte, possuo uma tabela com vários endereços errados,  e com isso em mente necessito usar um update para atualizalos. Na tabela tem vários tipos de linhas como:

    -R catatau

    -RUA catatau

    -R: catatau

    -AV catatau

    -AVENIDA catatau

    Isso tanto para rua quanto para avenida minha duvida é o seguinte existe uma maneira de atualizar a linha sem alterar o (catatau), transformar todos os tipos “R, RUA, R:,” em um único tipo  “R. “ mais ainda sim mantendo o (catatau).

    quarta-feira, 12 de abril de 2017 18:20

Respostas

  • Olá,
    Sim , é possivel com replace.

    Ex:

    UPDATE tabela
    SET    campo= replace(campo, 'Rua', 'R.')
    WHERE  campo LIKE 'Rua%';

    Ok?


    Se a resposta for relevante,click em "útil".Se a resposta resolveu seu problema, click em "Marcar como Resposta".
    Rodrigo Suleiman [MCP,MCTS,MCPD,MCSA,MCSD]

    quarta-feira, 12 de abril de 2017 18:38
  • Deleted
    • Sugerido como Resposta Robson William Silva quinta-feira, 13 de abril de 2017 12:23
    • Marcado como Resposta s0rt quinta-feira, 20 de abril de 2017 19:20
    quinta-feira, 13 de abril de 2017 11:43

Todas as Respostas

  • Olá,
    Sim , é possivel com replace.

    Ex:

    UPDATE tabela
    SET    campo= replace(campo, 'Rua', 'R.')
    WHERE  campo LIKE 'Rua%';

    Ok?


    Se a resposta for relevante,click em "útil".Se a resposta resolveu seu problema, click em "Marcar como Resposta".
    Rodrigo Suleiman [MCP,MCTS,MCPD,MCSA,MCSD]

    quarta-feira, 12 de abril de 2017 18:38
  • Deleted
    • Sugerido como Resposta Robson William Silva quinta-feira, 13 de abril de 2017 12:23
    • Marcado como Resposta s0rt quinta-feira, 20 de abril de 2017 19:20
    quinta-feira, 13 de abril de 2017 11:43
  • Segue uma outra sugestão 

    DECLARE @Exemplo TABLE ( nome VARCHAR(MAX) );
    
    INSERT @Exemplo
            ( nome )
        VALUES  ( 'R catatau' ),
                ( 'RUA catatau' ),
                ( 'R: catatau' ),
                ( 'AV catatau' ),
                ( 'AVENIDA catatau' );
    
    SELECT E.nome ,
            NomeAlterado = CONCAT('R.',SUBSTRING(e.nome,CHARINDEX('catatau',e.nome),LEN(E.nome)))
        FROM @Exemplo AS E;
    
    

    Saudações...

    Por favor,  marque-o como respondidas se está respondeu a sua pergunta 
    ou marcá-lo como útil se está ajudou a resolver o seu problema 
    Wesley Neves
    MTA-Database Fundamentals 
    Analista Desenvolvedor.NET


    Wesley Neves

    quinta-feira, 13 de abril de 2017 14:45
  • Amigo, faça o update da seguinte forma:

      update tabela
      set campo = replace(campo,substring(campo,1,charindex(' ',campo,1)),'R. ')

    Só não entendi bem como você quer que fique avenida,  A. ou R. também.

    Caso avenida precise ficar como A.

      update tabela

      set campo = 
      case when substring(campo,1,1) = 'R' then
      replace(campo,substring(campo,1,charindex(' ',campo,1)),'R. ')
      
      when substring(campo,1,1) = 'A' then
      replace(campo,substring(campo,1,charindex(' ',campo,1)),'A. ')

      else campo
      
      end;

    Abs


    • Editado Robson_AC sábado, 22 de abril de 2017 01:08
    sábado, 22 de abril de 2017 01:00