我正试图用完整的国际代码来搜索和替换手机号码。
因此,如果行有0797000007,则将开头替换为+447970000007

UPDATE tblMemberImportClub
SET msisdn = REPLACE(msisdn, '07', '+447')
WHERE INSTR(msisdn, '07') = 1;

但这也取代了其他匹配项:
+4479700000+447
我不认为我可以使用trim,因为有些行已经从+447开始,因此也不需要任何更新。
提前感谢您的帮助。

最佳答案

使用LIKEINSERT()

UPDATE tblMemberImportClub
    SET msisdn = INSERT(msisdn, 1, 2, '+447')
    WHERE msisdn LIKE '07%';

INSERT()是一个字符串函数,它完全替换您指定的字符(请参见here)。

关于mysql - MySQL:如何在字符串的开头搜索和替换字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40370348/

10-09 20:04