更新:MySQL8.0には
以下は2014年の私の回答です。これは8.0より前のすべてのバージョンのMySQLに引き続き適用されます。
REPLACE()は、ワイルドカード、パターン、正規表現などをサポートしていません。REPLACE()は、ある定数文字列を別の定数文字列に置き換えるだけです。
複雑なことを試して、文字列の先頭部分と末尾部分を選択することができます。
UPDATE table
SET Configuration = CONCAT(
SUBSTR(Configuration, 1, LOCATE('<tag>', Configuration)+4),
NEW_DATA,
SUBSTR(Configuration, LOCATE('</tag>', Configuration)
)
ただし、これは、<tag>
が複数回出現する場合には機能しません。 。
行をアプリケーションにフェッチして戻し、お気に入りの言語を使用して文字列の置換を実行し、行をポストバックする必要がある場合があります。つまり、行ごとに3ステップのプロセスです。