Joe*_*ora 469
更改table_name并field匹配您的表名称和相关字段:
UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE INSTR(field, 'foo') > 0;
Run Code Online (Sandbox Code Playgroud)
the*_*int 82
UPDATE table_name
SET field = replace(field, 'string-to-find', 'string-that-will-replace-it');
Run Code Online (Sandbox Code Playgroud)
UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);
Run Code Online (Sandbox Code Playgroud)
例如,如果我想用Mark替换所有出现的John,我会在下面使用,
UPDATE student SET student_name = replace(student_name, 'John', 'Mark');
Run Code Online (Sandbox Code Playgroud)
小智 8
根据我的经验,最快的方法是
UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE field LIKE '%foo%';
Run Code Online (Sandbox Code Playgroud)
该INSTR()方法是第二快的和省略WHERE共条款是最慢的,即使列没有编入索引。
小智 6
如果你想根据另一个字段的值进行搜索和替换,你可以做一个CONCAT:
update table_name set `field_name` = replace(`field_name`,'YOUR_OLD_STRING',CONCAT('NEW_STRING',`OTHER_FIELD_VALUE`,'AFTER_IF_NEEDED'));
Run Code Online (Sandbox Code Playgroud)
只是把这个放在这里,以便其他人立即找到它.
| 归档时间: |
|
| 查看次数: |
193495 次 |
| 最近记录: |