如何在BigQuery中使用REGEX通过旧列创建新列?
我想通过一个旧列创建一个新列 我有这个专栏:name。它是一个字符串列。我有这样的数据:如何在BigQuery中使用REGEX通过旧列创建新列?,regex,google-bigquery,Regex,Google Bigquery,我想通过一个旧列创建一个新列 我有这个专栏:name。它是一个字符串列。我有这样的数据: ALUMNNAME_SURNAME_CLASS_UNIVERSITY_YEAR_(16/09 - 22/09) 我想创建新的列,将每个列拆分 在GoogleSheets中,我知道如何使用INDEXSPLITC2:C;0;1.但是在BigQuery中我怎么做呢 我知道是这样的: SELECT name, REGEXP_EXTRACT(name, regex) AS Name, REGEXT
ALUMNNAME_SURNAME_CLASS_UNIVERSITY_YEAR_(16/09 - 22/09)
我想创建新的列,将每个列拆分
在GoogleSheets中,我知道如何使用INDEXSPLITC2:C;0;1.但是在BigQuery中我怎么做呢
我知道是这样的:
SELECT
name,
REGEXP_EXTRACT(name, regex) AS Name,
REGEXTRACT(name, regex) AS Surname,
...
你能帮我做一下RERGX吗?我找不到如何划分每个部分。在标准SQL中,我们可以尝试使用SPLIT函数:
SELECT
SPLIT(input, '_')[OFFSET(0)] part1,
SPLIT(input, '_')[OFFSET(1)] part2,
SPLIT(input, '_')[OFFSET(2)] part3,
SPLIT(input, '_')[OFFSET(3)] part4,
SPLIT(input, '_')[OFFSET(4)] part5
FROM (SELECT "ALUMNNAME_SURNAME_CLASS_UNIVERSITY_YEAR_(16/09 - 22/09)" input)
列中的每个值是否总是正好有5个下划线?是的。所有值的格式都相同。我可以用这个来提取第一个:^[a-zA-Z\]+但是我想分割所有的。