如何在一个字段中替换两个子字符串并将结果插入到MySQL中的另一个字段

时间:2019-05-16 22:04:14

标签: mysql sql database database-design mysql-workbench

我有一个字段oldCol,其中包含用,(逗号)分隔的字符串。我刚刚发现这很不方便,因为URL中可能存在,。因此,我想用一个永远不会出现在>这样的URL中的字符替换它:

https://11.com/,http://2,2.com/
https://aa.com/,https://www.bb,b.com/,http://www.abcc.org/homePage

我要替换的分隔符逗号放在httphttps之前。我不想更改原始列。因此,我创建了一个新的newCol,并将其值设置为修改后的列。所以我写道:

UPDATE tbl
SET  newCol = replace(oldCol, ',https://', '>https://');

但是问题是上面的语句仅捕获https://,同时我还需要用http://替换它们,因此newCol的值包含{{1} },并将分隔符逗号转换为oldCol。也就是说,上例中的>是:

newCol

1 个答案:

答案 0 :(得分:0)

您可以更换两次:

UPDATE tbl
    SET newCol = replace(replace(oldCol, ',https://', '>https://'), ',http://', '>http://');