Я бы предложил вам использовать таблицы с подстановочными знаками, которые позволяют использовать некоторые функции в стандарте SQL с BigQuery. Вы можете прочитать больше и увидеть некоторые примеры здесь .
Кроме того, искомый синтаксис должен быть похож на это:
SELECT
#columns that you want
FROM
`<project-id>.<dataset-id>.<table-prefix>*`
Звездочка обозначает, какие таблицы select будет сканировать, в этом случае все таблицы с одинаковым префиксом. С другой стороны, вы также можете использовать _TABLE_SUFFIX для ограничения сканирования ваших таблиц, вы можете прочитать больше об этом здесь . Кроме того, ниже приведен пример того, как это будет выглядеть:
SELECT
ROUND((max-32)*5/9,1) celsius
FROM
`bigquery-public-data.noaa_gsod.gsod19*`
WHERE
_TABLE_SUFFIX = (SELECT SUBSTR(MAX(table_id), LENGTH('gsod19') + 1)
FROM `bigquery-public-data.noaa_gsod.__TABLES_SUMMARY__`
WHERE table_id LIKE 'gsod194%')
Надеюсь, это поможет.
ОТВЕТ ОТВЕТА (после комментариев пользователя):
В BigQuery существует метод UPDATE , который позволяет пользователю обновлять данные из определенных столбцов в наборе данных. В вашем случае это может быть подходящим решением. Синтаксис использования обновления следующий:
UPDATE sample_db.UserSessions
SET ip_address = REGEXP_REPLACE(ip_address, r"(\.[0-9]+)$", ".0")
WHERE TRUE