Mysql搜索并替换第二种模式

时间:2014-07-22 07:15:44

标签: mysql sql replace

什么Mysql查询将在表中的一个特定字段中进行文本搜索和替换?

对于前。在表中的一个fild中我有文字:

"abc def XXX ghi XXX jkl"

如何只补充第二个XXX ???

预期产出:

"abc def XXX ghi YYY jkl"

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

可能是这样的

您可能希望使用SUBSTRING_INDEX这样的功能

SELECT CONCAT(SUBSTRING_INDEX(YourField, SearchString, 2),ReplacementString,SUBSTRING_INDEX(YourField,SearchString,-1));

<强> Fiddle Demo

SELECT CONCAT(SUBSTRING_INDEX('abc def XXX ghi XXX jkl', 'XXX', 2),'YYY',SUBSTRING_INDEX('abc def XXX ghi XXX jkl', 'XXX', -1));

修改

您的更新查询将是

UPDATE Table_Name SET Column_Name = CONCAT(SUBSTRING_INDEX(Column_Name,'XXX',2) ,'YYY', SUBSTRING_INDEX(Column_Name, 'XXX', -1));