如何在BigQuery中移除字符串最后5个字符提取郊区名称?
BigQuery中提取郊区名称的解决方案
你之前用Rtrim(column,' ')无效,是因为这个函数只会移除字段右侧的空格,没法去掉后面的邮政编码数字。给你两种可行的实现方法:
使用
SUBSTR函数截取固定长度:
你的数据格式是「郊区名 + 空格 + 4位邮编」,最后5个字符刚好是空格加邮编,直接截取总长度减5的部分即可:SELECT SUBSTR(your_column_name, 1, LENGTH(your_column_name) - 5) AS suburb FROM your_table_nameLENGTH(your_column_name)获取字段总长度,减5后作为截取长度,从第1位开始截取就能得到纯郊区名称。使用
REGEXP_REPLACE正则替换:
如果担心偶尔有格式小变动,用正则匹配结尾的空格加数字会更灵活:SELECT REGEXP_REPLACE(your_column_name, r' \d{4}$', '') AS suburb FROM your_table_name正则表达式
\d{4}$会匹配字段结尾的「空格+4个数字」,把这部分替换成空字符串就得到了目标郊区名称。
内容的提问来源于stack exchange,提问作者Pratikp
相关产品推荐
相关产品推荐

