替换电话号码前缀

5lwkijsr  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(440)

我需要选择并替换所有的电话没有前缀(0122)与新的号码前缀(072)一样
01220000000至0720000000
但是我的table上有很多格式的电话号码
('+11201220000000' , '+12201220000000@.com'或'01220000000/0122000001')。
我试着用regexp找到没有格式的电话 ^/0122/[0-9]{1,7}$ ,但我对
01220000000/01220000001.
我应该如何使用mysql更新所有phone no-by-one查询

qybjjes1

qybjjes11#

你似乎使用了正确的方法 REGEXP . 以下是我将如何表述更新:

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

假设在出现两个数字的情况下,这些数字总是用正斜杠隔开,并且第一个数字是候选数字,以便在第二个数字也是候选数字时更新。
请注意,您的数据不是标准化的。有包含多个电话号码的字段是不好的数据库设计。

演示

相关问题