如何在 Google BigQuery 上按分隔符拆分列
How to split column by delimiter on Google BigQuery
我有一列电子邮件,我想使用 @
作为分隔符将其分成两列。
Table:
预期结果
尝试
select split(email, "@")[ofsset(0)],split(email, "@")[ofsset(1)]
尝试 SPLIT with subsequent OFFSET:
SELECT SPLIT(email, '@')[OFFSET(0)] as email1, SPLIT(email, '@')[OFFSET(1)] as email2
FROM mytable
考虑另一种[非正统甚至可能愚蠢但希望有趣并公开 BigQuery 的一些额外功能] 方法
select * from (
select * from your_table,
unnest(regexp_extract_all(email, r'[^@]+')) piece with offset
)
pivot (min(piece) as email for offset in (0, 1))
如果应用于您问题中的示例数据 - 输出为
我有一列电子邮件,我想使用 @
作为分隔符将其分成两列。
Table:
预期结果
尝试
select split(email, "@")[ofsset(0)],split(email, "@")[ofsset(1)]
尝试 SPLIT with subsequent OFFSET:
SELECT SPLIT(email, '@')[OFFSET(0)] as email1, SPLIT(email, '@')[OFFSET(1)] as email2
FROM mytable
考虑另一种[非正统甚至可能愚蠢但希望有趣并公开 BigQuery 的一些额外功能] 方法
select * from (
select * from your_table,
unnest(regexp_extract_all(email, r'[^@]+')) piece with offset
)
pivot (min(piece) as email for offset in (0, 1))
如果应用于您问题中的示例数据 - 输出为