我正试图用完整的国际代码来搜索和替换手机号码。
因此,如果行有0797000007,则将开头替换为+447970000007
UPDATE tblMemberImportClub
SET msisdn = REPLACE(msisdn, '07', '+447')
WHERE INSTR(msisdn, '07') = 1;
但这也取代了其他匹配项:
+4479700000+447
我不认为我可以使用trim,因为有些行已经从+447开始,因此也不需要任何更新。
提前感谢您的帮助。
最佳答案
使用LIKE
和INSERT()
:
UPDATE tblMemberImportClub
SET msisdn = INSERT(msisdn, 1, 2, '+447')
WHERE msisdn LIKE '07%';
INSERT()
是一个字符串函数,它完全替换您指定的字符(请参见here)。关于mysql - MySQL:如何在字符串的开头搜索和替换字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40370348/