MySQL Replace String Function

Summary: neste tutorial, mostraremos como usar a função MySQL REPLACE string para substituir uma substring por outra numa string.

Introdução à função string MySQL REPLACE

MySQL fornece-lhe uma função de string útil chamada REPLACE que lhe permite substituir uma string numa coluna de uma tabela por uma nova string.

A sintaxe do REPLACE função é a seguinte:

REPLACE(str,old_string,new_string);
Code language: SQL (Structured Query Language) (sql)

O REPLACE função tem três parâmetros. Substitui o old_string pelo new_string no string

Notificação de que há uma declaração também chamada REPLACE utilizada para inserir ou actualizar dados. Não se deve confundir o REPLACE declaração com o REPLACE função string.

O REPLACE função é muito útil para pesquisar e substituir texto numa tabela, tal como actualizar URL obsoleto, corrigir um erro ortográfico, etc.

A sintaxe de usar a função REPLACE numa declaração UPDATE é a seguinte:

UPDATE tbl_name SET field_name = REPLACE(field_name, string_to_find, string_to_replace)WHERE conditions;
Code language: SQL (Structured Query Language) (sql)

Nota que ao procurar texto a substituir, o MySQL usa a correspondência sensível a maiúsculas e minúsculas para efectuar uma pesquisa por uma cadeia de caracteres a ser substituída.

MySQL REPLACE string function example

Por exemplo, se quiser corrigir o erro ortográfico no products tabela na base de dados de amostra, utilize a função REPLACE como se segue:

UPDATE products SET productDescription = REPLACE(productDescription, 'abuot', 'about');
Code language: SQL (Structured Query Language) (sql)

A consulta encontra todas as ocorrências de um erro ortográfico abuot e substitui-a pela palavra correcta na tabela productDescription coluna da tabela products.

É muito importante notar que na função REPLACE, o primeiro parâmetro é o nome da coluna sem aspas (“). Se colocar as aspas no nome do campo como “field_name”, a consulta actualizará o conteúdo dessa coluna para “field_name”, o que está a causar a perda inesperada de dados.

O REPLACE função não suporta expressão regular, por isso se precisar de substituir uma cadeia de texto por um padrão, precisa de utilizar a função MySQL definida pelo utilizador (UDF) da biblioteca externa, verifique aqui MySQL UDF com Regex

  • Este tutorial foi útil?
  • Sim Não
  • Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *