Google bigquery 在大查询中,仅在字符串字段中保留数字
我有一个字段,是电话号码的自由文本输入,我只想保留该字段中的数值,以删除任何空格、符号等。。下面是一些记录的示例: +1 123-123-1234或 (123)123-1234或 (123)123-1234或 123-123-1234等等 下面是我正在尝试的查询,但它只会在字段中包含任何其他字符时返回第一组数字 挑选 noteattributes.value.name作为名称\u类型,REGEXP\u提取(noteattributes.value.value,r'[\d]+')作为名称\u值,顺序\u编号 从测试命令, unnest(注释属性)作为注释属性 其中noteattributes.value.name='Picking Collector Phone' 我的结果是这样的 1234567890或 123或 1.Google bigquery 在大查询中,仅在字符串字段中保留数字,google-bigquery,Google Bigquery,我有一个字段,是电话号码的自由文本输入,我只想保留该字段中的数值,以删除任何空格、符号等。。下面是一些记录的示例: +1 123-123-1234或 (123)123-1234或 (123)123-1234或 123-123-1234等等 下面是我正在尝试的查询,但它只会在字段中包含任何其他字符时返回第一组数字 挑选 noteattributes.value.name作为名称\u类型,REGEXP\u提取(noteattributes.value.value,r'[\d]+')作为名称\u值,顺
等等。您可以使用问题中的示例数据,如下面的示例所示,使用REGEXP_REPLACE函数进行此操作
#standardSQL
WITH `project.dataset.table` AS (
SELECT '+1 123-123-1234' phone_number UNION ALL
SELECT '(123)123-1234' UNION ALL
SELECT '(123) 123-1234' UNION ALL
SELECT '123-123-1234'
)
SELECT *, REGEXP_REPLACE(phone_number, r'[^\d]', '') cleaned_phone_number
FROM `project.dataset.table`
有输出
Row phone_number cleaned_phone_number
1 +1 123-123-1234 11231231234
2 (123)123-1234 1231231234
3 (123) 123-1234 1231231234
4 123-123-1234 1231231234