Актуализация:MySQL 8.0 има функция REGEX_REPLACE() .
По-долу е моят отговор от 2014 г., който все още важи за всяка версия на MySQL преди 8.0:
REPLACE() няма никаква поддръжка за заместващи знаци, шаблони, регулярни изрази и т.н. REPLACE() само замества един константен низ с друг константен низ.
Можете да опитате нещо сложно, за да изберете водещата част на низа и задната част на низа:
UPDATE table
SET Configuration = CONCAT(
SUBSTR(Configuration, 1, LOCATE('<tag>', Configuration)+4),
NEW_DATA,
SUBSTR(Configuration, LOCATE('</tag>', Configuration)
)
Но това не работи в случаите, когато имате няколко поява на <tag>
.
Може да се наложи да извлечете реда обратно в приложение, да извършите подмяна на низове, използвайки любимия си език, и да публикувате реда обратно. С други думи, процес от три стъпки за всеки ред.