我想用另一个字符串替换字符串中特定字符的每个实例,' s' &安培; '#'在这种情况下 所以,圣何塞成了#an Jo#e 我使用以下查询:
UPDATE city SET NewName = REPLACE(Name,'s','#') WHERE(ID<5000);
UPDATE city SET NewName = REPLACE(Name,'S','#') WHERE(ID<5000);
SELECT * FROM city WHERE Name LIKE "%s%" OR "%S%";
这就是表格的样子:
ID Name CountryCode District Population NewName
4 Mazar-e-Sharif AFG Balkh 127800 Mazar-e-#harif
5 Amsterdam NLD Noord-Holland 731200 Amsterdam
15 Enschede NLD Overijssel 149544 Enschede
19 Zaanstad NLD Noord-Holland 135621 Zaanstad
20 ´s-Hertogenbosch NLD Noord-Brabant 129170 ´s-Hertogenbosch
21 Amersfoort NLD Utrecht 126270 Amersfoort
22 Maastricht NLD Limburg 122087 Maastricht
33 Willemstad ANT Curaçao 2345 Willemstad
我正在使用this database。我还在表中添加了一个新列,NewName
答案 0 :(得分:1)
一步完成:
UPDATE city
SET NewName = REPLACE(REPLACE(Name, 's', '#'), 'S', '#')
WHERE(ID < 5000);
实际上,如果列的排序规则不区分大小写,则第一个会这样做。
答案 1 :(得分:0)
尝试使用下一种方法:
UPDATE city SET NewName = REGEXP_REPLACE(Name, '/[s]/ig', '#') WHERE(ID<5000);
或更新您的请求
UPDATE city SET NewName = REPLACE(REPLACE(Name,'s','#'),'S','#') WHERE(ID<5000);