替换phone号码前缀mysql
Replace phone number prefix mysql
我需要 select 并将所有 Phone NO 前缀 (0122) 替换为新号码前缀 (072),如
01220000000 to 0720000000
但是我的 table 有很多格式 Phone NO
('+11201220000000' , '+12201220000000@abc.com' or '01220000000/01220000001').
我尝试使用 REGEXP 查找 Phone 没有像 ^/0122/[0-9]{1,7}$
这样的格式,但我对
有疑问
01220000000/01220000001.
我应该如何使用 Mysql
通过一次查询更新所有 Phone NO
您使用 REGEXP
似乎是在正确的轨道上。以下是我对更新的措辞:
UPDATE yourTable
SET phone = REPLACE(CONCAT('072', SUBSTRING(phone, 5)), '/0122', '/072')
WHERE phone REGEXP '^[0+]122';
假设在出现两个数字的情况下,这些数字始终由正斜杠分隔 and 如果第一个数字出现,则第一个数字将成为更新的候选者第二个号也是候选
请注意,您的数据未标准化。包含多个 phone 数字的字段不是好的数据库设计。
我需要 select 并将所有 Phone NO 前缀 (0122) 替换为新号码前缀 (072),如
01220000000 to 0720000000
但是我的 table 有很多格式 Phone NO
('+11201220000000' , '+12201220000000@abc.com' or '01220000000/01220000001').
我尝试使用 REGEXP 查找 Phone 没有像 ^/0122/[0-9]{1,7}$
这样的格式,但我对
01220000000/01220000001.
我应该如何使用 Mysql
通过一次查询更新所有 Phone NO您使用 REGEXP
似乎是在正确的轨道上。以下是我对更新的措辞:
UPDATE yourTable
SET phone = REPLACE(CONCAT('072', SUBSTRING(phone, 5)), '/0122', '/072')
WHERE phone REGEXP '^[0+]122';
假设在出现两个数字的情况下,这些数字始终由正斜杠分隔 and 如果第一个数字出现,则第一个数字将成为更新的候选者第二个号也是候选
请注意,您的数据未标准化。包含多个 phone 数字的字段不是好的数据库设计。