从PhoneNumber字段提取电话号码分段并新增CountryCode字段需求
提取电话号码分段内容的解决方案
假设你使用SQL处理该需求,以下是针对格式为(XXX)XXX-XXXXX的PhoneNumber字段的提取方案:
提取AreaCode(区号):通过正则匹配括号内的数字部分,以MySQL为例,使用
REGEXP_SUBSTR函数:REGEXP_SUBSTR(PhoneNumber, '\\((\\d+)\\)', 1, 1, 'c', 1) AS AreaCode提取Number(号码主体):截取括号之后的全部内容:
SUBSTRING(PhoneNumber, LOCATE(')', PhoneNumber) + 1) AS Number新增CountryCode字段:直接赋值为空字符串即可:
'' AS CountryCode
完整SQL语句示例:
SELECT '' AS CountryCode, REGEXP_SUBSTR(PhoneNumber, '\\((\\d+)\\)', 1, 1, 'c', 1) AS AreaCode, SUBSTRING(PhoneNumber, LOCATE(')', PhoneNumber) + 1) AS Number FROM your_table_name;
执行后输出结果如下:
| CountryCode | AreaCode | Number |
|---|---|---|
| 343 | 765-58584 |
内容的提问来源于stack exchange,提问作者Barrow
相关产品推荐
相关产品推荐

