什么Mysql查询将在表中的一个特定字段中进行文本搜索和替换?
对于前。在表中的一个fild中我有文字:
"abc def XXX ghi XXX jkl"
如何只补充第二个XXX ???
预期产出:
"abc def XXX ghi YYY jkl"
感谢您的帮助!
答案 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));