在 BigQuery 中的特定字符串序列之后提取值
Extract value after specific sequence of string in BigQuery
我在 BigQuery 中有以下字符串示例:
string
action_1 plan_id=266 revenue=123.93
action_2 plan_id=057 revenue=33.54 action_1 plan_id=432 revenue=127.12
action_4 plan_id=854 revenue=123.46 action_1 plan_id=138 revenue=98.43
action_3 plan_id=266 revenue=123.93
我要提取的是action_1
之后的收益值。所以,新字段应该是这样的:
string action_1_revenue
action_1 plan_id=266 revenue=123.93 123.93
action_2 plan_id=057 revenue=33.54 action_1 plan_id=432 revenue=127.12 127.12
action_4 plan_id=854 revenue=123.46 action_1 plan_id=138 revenue=98.43 98.43
action_3 plan_id=266 revenue=123.93 NULL
有什么想法吗?
考虑以下
select *, regexp_extract(string, r'action_1 .* revenue=([\d.]+)') action_1_revenue
from your_table
如果应用于您问题中的示例数据 - 输出为
我在 BigQuery 中有以下字符串示例:
string
action_1 plan_id=266 revenue=123.93
action_2 plan_id=057 revenue=33.54 action_1 plan_id=432 revenue=127.12
action_4 plan_id=854 revenue=123.46 action_1 plan_id=138 revenue=98.43
action_3 plan_id=266 revenue=123.93
我要提取的是action_1
之后的收益值。所以,新字段应该是这样的:
string action_1_revenue
action_1 plan_id=266 revenue=123.93 123.93
action_2 plan_id=057 revenue=33.54 action_1 plan_id=432 revenue=127.12 127.12
action_4 plan_id=854 revenue=123.46 action_1 plan_id=138 revenue=98.43 98.43
action_3 plan_id=266 revenue=123.93 NULL
有什么想法吗?
考虑以下
select *, regexp_extract(string, r'action_1 .* revenue=([\d.]+)') action_1_revenue
from your_table
如果应用于您问题中的示例数据 - 输出为