почему это важно.

я пишу запрос BigQuery и, в основном, просто должен иметь возможность проверить, присутствует ли какая-либо из ряда строк в качестве элементов в одном из столбцов таблицы, где сам заботливый столбец содержит массивы строк. Просто для контекста, я пишу запрос как часть небольшого автоматизированного задания Python и использую стандартный SQL.

Я не смог найти ничего, что явно проверяло бы включение массива здесь:https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators

Поэтому я пришел к решению, которое использует довольно хакерское регулярное выражение, а именно:

...other query stuff...

WHERE
    REGEXP_CONTAINS((LOWER(ARRAY_TO_STRING(column, '-'))), r"({joined_string})")

...гдеcolumn столбец, который мне нужен в таблице, иjoined_string длинная строка, состоящая из всех строк, которые мне нужно проверить, к которым присоединяются| (где| служит оператором регулярного выражения OR).

Существует ли какая-то встроенная функциональность в стандартном SQL BigQuery, которая позволяет делать это более разумно?

Ответы на вопрос(1)

Ваш ответ на вопрос