如何统计BigQuery中字符串类型字段内的数字数量?
在BigQuery中统计字符串字段内的数字数量
你可以通过替换非数字字符为空后计算剩余字符串长度的方式实现这个需求,具体操作如下:
核心逻辑
用正则表达式替换掉字符串中所有非数字(0-9)的字符,得到仅包含数字的字符串,再用LENGTH()函数计算该字符串的长度,这个长度就是原字符串内的数字总数。
示例代码
基于你提供的示例,修改后的代码如下:
DECLARE str STRING DEFAULT 'h0w many numb3rs?'; SELECT str, LENGTH(str) AS total_length, -- 统计数字数量 LENGTH(REGEXP_REPLACE(str, r'[^0-9]', '')) AS digit_count;
执行后会返回原字符串、总长度以及数字数量(示例中结果为2)。
处理表中字段
如果要统计表内字符串字段的数字数量,比如表your_table中的text_column字段,可使用以下语句:
SELECT text_column, LENGTH(REGEXP_REPLACE(text_column, r'[^0-9]', '')) AS digit_count FROM your_table;
内容的提问来源于stack exchange,提问作者TMo
相关产品推荐
相关产品推荐

