首页 > 解决方案 > 旧版 Sql 等效于标准 sql 中的 TABLE_QUERY(dataset, expr)

问题描述

任何人都可以帮助我理解标准 Sql 中的 TABLE_QUERY(dataset, expr) 的等价物。

我在 google docs for Legacy Sql 上找到了这个:

#legacySQL
SELECT
  speed
FROM (TABLE_QUERY([myproject-1234:mydata],
                  'table_id CONTAINS "oo" AND length(table_id) >= 4'))

我没有在标准 SQl 中找到上述的等价物

标签: google-bigquery

解决方案


#standardSQL
SELECT speed
FROM `myproject-1234.mydata.*`
WHERE _TABLE_SUFFIX LIKE '%oo%'
AND LENGTH(_TABLE_SUFFIX) >= 4  

重要提示:仅*将通配符用作整个表名的 inmyproject-1234.mydata.*是最坏情况下的性能明智的

理想情况下,您的表后缀应该尽可能窄 - 例如myproject-1234.mydata.myprefix_

阅读有关通配符表的更多信息

此外,您可以在此处阅读有关迁移旧版 SQL 表通配符函数的更多信息


推荐阅读