Google 大查询在 table 名称中间使用通配符
Google Big Query using a wildcard in middle of table name
描述了使用通配符查询 tables here。从该文档看来,通配符似乎必须出现在 table 名称的末尾。有没有办法把通配符放在别处,例如做这样的事情:
SELECT
*
FROM
`dataset.*_postfix`
要将每个 table 名称与给定的后缀匹配?
以下示例适用于 BigQuery 标准 SQL
中间的通配符不支持!
您可以尝试的最接近的(有问题的例子)如下
SELECT _TABLE_SUFFIX as t, count(1) cnt
FROM `dataset.*`
WHERE ENDS_WITH(_TABLE_SUFFIX, '_postfix')
GROUP BY 1
这里的缺点是查询结果的模式将由数据集中最近的 table 决定,这可能是个问题。但是,如果所有 table 都具有上述相同的架构,则可以工作
描述了使用通配符查询 tables here。从该文档看来,通配符似乎必须出现在 table 名称的末尾。有没有办法把通配符放在别处,例如做这样的事情:
SELECT
*
FROM
`dataset.*_postfix`
要将每个 table 名称与给定的后缀匹配?
以下示例适用于 BigQuery 标准 SQL
中间的通配符不支持!
您可以尝试的最接近的(有问题的例子)如下
SELECT _TABLE_SUFFIX as t, count(1) cnt
FROM `dataset.*`
WHERE ENDS_WITH(_TABLE_SUFFIX, '_postfix')
GROUP BY 1
这里的缺点是查询结果的模式将由数据集中最近的 table 决定,这可能是个问题。但是,如果所有 table 都具有上述相同的架构,则可以工作