【发布时间】:2020-08-24 17:31:04
【问题描述】:
我的数据保存在 Big Query 中。有一列需要 REGEX 提取。字符串示例如下:
?src=abb_fh_uit*_source=h&_medium=cpm&my_campaign=abb_hc_hr
src=abb_fh_uit*_source=h&_medium=cpm&my_campaign=goal_healthcare
?src=abb_fh_uit*_source=h&_medium=cpm&my_campaign=goal_hr
?src=abb_fh_uit*_source=h&_medium=cpm&my_campaign=abb_hr_healthcare
我想要的输出是这样的:
my_campaign=goal
my_campaign=goal
基本上我需要修剪除my_campaign=goal之外的所有内容
我写的代码是用 SQL 写的,如下:
LOWER(REGEXP_EXTRACT(my_column,r'my_campaign=([^&])')) AS my_campaign
它使用 my_campaign my_campaign=abb_hc_hr, my_campaign=goal_healthcare 等返回所有内容。我应该如何更改现有代码以获取 my_campaign=goal?
谢谢。
【问题讨论】:
-
如果您只需要其中包含“campaign=goal”的行,为什么不直接使用
select *, 'my_campaign=goal' as my_column from t where my_column like '%my_campaign=goal%'
标签: sql regex google-bigquery extract