BigQuery中使用Regex Replace移除电话号码首位的1
移除BigQuery中电话号码首位的数字1解决方案
直接使用BigQuery的REGEXP_REPLACE函数就能实现需求,核心是用正则匹配字符串开头的数字1并替换为空。
基础SQL示例
假设你的电话号码字段名为phone,表位于your-project.your-dataset.phone_numbers,执行以下查询即可得到清洗后的号码:
SELECT phone AS original_phone, REGEXP_REPLACE(phone, r'^1', '') AS cleaned_phone FROM `your-project.your-dataset.phone_numbers`
关键说明
- 正则表达式
^1专门匹配字符串开头的数字1,只会移除首位的1,不会影响号码中间出现的1 - 如果你的
phone字段是数值类型而非字符串,先通过CAST转成字符串再处理:SELECT phone AS original_phone, REGEXP_REPLACE(CAST(phone AS STRING), r'^1', '') AS cleaned_phone FROM `your-project.your-dataset.phone_numbers`
测试你的示例数据:
- 原始值
16047779887→ 清洗后6047779887 - 原始值
4037778776→ 清洗后保持4037778776
内容的提问来源于stack exchange,提问作者Tom Enns
相关产品推荐
相关产品推荐

