Google Big Query在表名中间使用通配符

ham*_*dog 1 wildcard google-bigquery bigquery-standard-sql

这里描述使用通配符查询表。从该文档看来,通配符似乎必须在表名的末尾。有什么方法可以将通配符放在其他位置,例如执行以下操作:

SELECT
  *
FROM
  `dataset.*_postfix`
Run Code Online (Sandbox Code Playgroud)

要将每个表名与给定的后缀匹配?

Mik*_*ant 5

以下示例适用于BigQuery标准SQL

不支持中间的通配符!
您可以尝试的最接近(例如所讨论的示例)如下

SELECT _TABLE_SUFFIX as t, count(1) cnt
FROM `dataset.*`
WHERE ENDS_WITH(_TABLE_SUFFIX, '_postfix')  
GROUP BY 1
Run Code Online (Sandbox Code Playgroud)

这里的缺点是查询结果的模式将由数据集中的最新表确定,这可能是一个问题。但是,如果所有表都具有上述相同的架构,则可以正常工作