替换电话号码前缀mysql

时间:2018-10-04 08:12:42

标签: mysql prefix

我需要选择所有电话号码前缀(0122)并替换为新的数字前缀(072),例如

  

01220000000至0720000000

但是我的桌子上有许多电话号码格式

  

('+ 11201220000000','+12201220000000@abc.com'或'01220000000/01220000001')。

我尝试使用REGEXP查找电话号码,格式为^/0122/[0-9]{1,7}$,但

有问题
  

01220000000/01220000001。

如何使用Mysql通过一个查询更新所有电话号码

1 个答案:

答案 0 :(得分:1)

使用REGEXP似乎步入正轨。这是我对更新的措辞:

UPDATE yourTable
SET phone = REPLACE(CONCAT('072', SUBSTRING(phone, 5)), '/0122', '/072')
WHERE phone REGEXP '^[0+]122';

假设在出现两个数字的情况下,这些数字始终以正斜杠 隔开,则该答案应该有效,只要第二个数字也是候选人。

请注意,您的数据未标准化。字段包含多个电话号码不是很好的数据库设计。

Demo