MySQLsearch并replace字段中的一些文本
什么MySQL查询将做一个文本search和replace在一个特定的字段在表中?
即searchfoo
并用bar
replace,所以一个字段值为hello foo
变成hello bar
。
更改table_name
和field
以匹配您的表名称和字段:
UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE INSTR(field, 'foo') > 0;
- REPLACE (string函数)
- INSTR (string函数)
UPDATE table_name SET field = replace(field, '[string-to-find]', '[string-that-will-replace-it]');
如果你想根据另一个领域的价值进行search和replace,你可以做一个CONCAT:
update table_name set `field_name` = replace(`field_name`,'YOUR_OLD_STRING',CONCAT('NEW_STRING',`OTHER_FIELD_VALUE`,'AFTER_IF_NEEDED'));
只是为了让其他人一下子就能find它。
UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);
比如说,如果我想用马克来代替John的所有事件,我会在下面使用,
UPDATE student SET student_name = replace(student_name, 'John', 'Mark');
replacestring函数将做到这一点。
我用上面的命令行如下:update TABLE-NAME set FIELD = replace(FIELD,'And','and'); 目的是取代和与(“A”应该是小写)。 问题是它不能在数据库中find“And”,但是如果我使用“%And%”,那么它可以与其他很多属于单词的甚至是已经小写的单词一起find。