如何在 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))     

如果应用于您问题中的示例数据 - 输出为