Как создать новый столбец через старый с помощью REGEX в BigQuery? - PullRequest
0 голосов
/ 01 февраля 2020

Я хотел бы создать новый столбец через старый.

У меня есть этот столбец: name. Это столбец String. У меня есть такие данные:

ALUMNNAME_SURNAME_CLASS_UNIVERSITY_YEAR_(16/09 - 22/09)

Я хотел бы создать новые столбцы, разделенные на каждый _.

В Google Sheets я знаю, как это сделать (INDEX(SPLIT(C2:C;"_");0;1...) но как я могу сделать это в BigQuery?

Я понимаю, что это примерно так:

SELECT
   name,
   REGEXP_EXTRACT(name, regex) AS Name,
   REGEXTRACT(name, regex) AS Surname,
   ...

Не могли бы вы помочь мне создать RegRx? Я не могу найти, как разделить каждую часть.

1 Ответ

1 голос
/ 01 февраля 2020

В Standard 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...