Función MySQL Replace String

Resumen: en este tutorial, le mostraremos cómo utilizar la función MySQL REPLACE string para reemplazar una subcadena por otra en una cadena.

Introducción a la función de cadena REPLACE de MySQL

MySQL le proporciona una útil función de cadena llamada REPLACE que le permite reemplazar una cadena en una columna de una tabla por una nueva cadena.

La sintaxis de la función REPLACE es la siguiente:

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

La función REPLACE tiene tres parámetros. Sustituye el old_string por el new_string en el string

Nota que hay una sentencia también llamada REPLACE que se utiliza para insertar o actualizar datos. No debes confundir la sentencia REPLACE con la función de cadena REPLACE.

La función REPLACE es muy práctica para buscar y reemplazar texto en una tabla como actualizar una URL obsoleta, corregir un error ortográfico, etc.

La sintaxis de uso de la función REPLACE en una sentencia UPDATE es la siguiente:

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 al buscar el texto a reemplazar, MySQL utiliza la coincidencia entre mayúsculas y minúsculas para realizar una búsqueda de una cadena a reemplazar.

Ejemplo de la función REPLACE string de MySQL

Por ejemplo, si se quiere corregir el error ortográfico en la tabla products de la base de datos de ejemplo, se utiliza la función REPLACE de la siguiente manera:

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

La consulta encuentra todas las apariciones de un error ortográfico abuot y lo sustituye por la palabra correcta sobre en la columna productDescription de la tabla products.

Es muy importante tener en cuenta que en la función REPLACE, el primer parámetro es el nombre de la columna sin comillas («). Si pones las comillas al nombre del campo como «nombre_campo», la consulta actualizará el contenido de esa columna a «nombre_campo», lo que está provocando una pérdida de datos inesperada.

La función REPLACE no soporta expresiones regulares, por lo que si necesitas reemplazar una cadena de texto por un patrón debes utilizar la función definida por el usuario de MySQL (UDF) de una librería externa, consúltala aquí MySQL UDF with Regex

  • ¿Ha sido útil este tutorial?
  • SíNo

Se trata de un tutorial útil.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *