sql >> Base de Datos >  >> RDS >> Mysql

MySQL para reemplazar con comodín

Actualización:MySQL 8.0 tiene una función REGEX_REPLACE() .

A continuación se muestra mi respuesta de 2014, que aún se aplica a cualquier versión de MySQL anterior a la 8.0:

REPLACE() no admite comodines, patrones, expresiones regulares, etc. REPLACE() solo reemplaza una cadena constante por otra cadena constante.

Podría intentar algo complejo, para seleccionar la parte inicial de la cadena y la parte final de la cadena:

UPDATE table
SET Configuration = CONCAT(
      SUBSTR(Configuration, 1, LOCATE('<tag>', Configuration)+4),
      NEW_DATA,
      SUBSTR(Configuration, LOCATE('</tag>', Configuration)
    )

Pero esto no funciona en los casos en que tiene varias apariciones de <tag> .

Es posible que deba recuperar la fila en una aplicación, realizar el reemplazo de cadenas utilizando su idioma favorito y publicar la fila nuevamente. En otras palabras, un proceso de tres pasos para cada fila.