Como substituir parte de um texto dentro de uma coluna no SQL?
A função REPLACE() no SQL é utilizada para substituir parte de um texto dentro de uma coluna. Essa função é útil para correções em massa e padronização de dados.
Exemplo básico de REPLACE
Se quisermos substituir todas as ocorrências da palavra "Rua" por "Av." na coluna endereco
:
SELECT REPLACE(endereco, 'Rua', 'Av.') AS endereco_corrigido FROM clientes;
Isso altera todas as ocorrências de "Rua" para "Av." nos registros exibidos.
Atualizando registros com REPLACE
Podemos aplicar REPLACE()
em um UPDATE
para modificar permanentemente os dados na tabela:
UPDATE clientes SET endereco = REPLACE(endereco, 'Rua', 'Avenida') WHERE endereco LIKE 'Rua%';
Essa consulta altera os registros da tabela clientes
, substituindo "Rua" por "Avenida" em endereços que comecem com "Rua".
Substituindo trechos dentro de identificadores
Se tivermos um conjunto de códigos de produto formatados como "PRD-12345" e quisermos remover o prefixo "PRD-":
SELECT REPLACE(codigo, 'PRD-', '') AS codigo_limpo FROM produtos;
Isso retorna apenas a numeração do código, sem o prefixo.
Cuidados ao usar REPLACE
- O REPLACE diferencia maiúsculas e minúsculas, então verifique o padrão dos dados antes de aplicá-lo.
- Ele substitui todas as ocorrências encontradas, então revise antes de fazer um
UPDATE
em massa. - Se precisar de substituições mais avançadas, considere o uso de expressões regulares em bancos que suportam funções como
REGEXP_REPLACE()
no MySQL e PostgreSQL.
Quando usar REPLACE() para limpar e corrigir dados no SQL?
A substituição de partes de texto no SQL é uma técnica útil para manter a integridade e padronização dos dados em bancos de dados grandes. Em cadastros de clientes, por exemplo, pode ser necessário corrigir abreviações incorretas ou substituir padrões de formatação. O uso do REPLACE()
facilita essas alterações sem necessidade de exportação para manipulação manual. No entanto, quando se trata de substituições complexas, expressões regulares podem ser mais eficientes para detectar e corrigir padrões inconsistentes.
Algumas aplicações:
- Correção de erros de digitação em nomes e endereços
- Remoção ou substituição de prefixos e sufixos em identificadores
- Padronização de formatação em registros de texto
- Alteração de nomenclaturas obsoletas em sistemas legados
- Substituição de caracteres especiais em importação de dados
Dicas para quem está começando
- Use
REPLACE(coluna, 'antigo', 'novo')
para substituir textos específicos - Antes de executar um
UPDATE
, sempre teste oSELECT
para verificar o impacto - Se precisar de substituições mais avançadas, pesquise sobre
REGEXP_REPLACE()
- Lembre-se de que
REPLACE()
é case-sensitive, então atente-se ao padrão dos textos - Para grandes volumes de dados, otimizar índices pode melhorar a performance das substituições
Contribuições de Carla Nunes