MYSQL:替换电话号码以添加国家/地区代码

时间:2012-12-24 13:54:11

标签: mysql replace phone-number

我有一张不正确的电话表 有些人的数字如:06xxxxxxxx
其他人的数字如:06-xxxxxxxx
我希望他们这样:+ 316xxxxxxxx

我的桌子:
userid,phonenumber,country

我当前的(非工作查询)查询:
更新account_number上午 SET am.phonenumber = REPLACE(am.phonenumber,'06','+ 316');

以上操作无效,因为如果有人会有+31611061111这样的数字 它也将被替换并成为+ 31611 + 3161111

我希望我的问题不是复杂的 提前谢谢......

3 个答案:

答案 0 :(得分:1)

尝试类似

的内容
UPDATE account_number am
SET am.phonenumber = '+316' + Substring(am.phonenumber,3,Length(am.phonenumber) - 2)
where am.phonnumber like '06%'

答案 1 :(得分:1)

试试这个

`UPDATE account_number am SET am.phonenumber = CONCAT('+ 316',SUBSTRING(am.phonenumber,4))WHERE am.phonenumber LIKE '06 - %';

UPDATE account_number am SET am.phonenumber = CONCAT('+ 316',SUBSTRING(am.phonenumber,3))WHERE am.phonenumber LIKE '06%';`

答案 2 :(得分:0)

您可以使用WHERE子句来匹配仅以06开头的数字,如果这是您所追求的。要实现这一目标LIKE