具有标准SQL的BigQuery表装饰器

时间:2016-12-02 18:38:53

标签: google-bigquery sql-standards

我在使用标准SQL时使用表装饰器时遇到了一些麻烦。但是,Legacy SQL语法的相同概念对我有用。这是一个错误吗?这是一个例子。

(A)以下查询无任何问题

SELECT COUNT(*) FROM [some-project-name:some_dataset.some_table_name@<time1>-<time2>]

(B)以下查询返回错误消息 Error: Table "some-project-name.some_dataset.some_table_name@<time1>-<time2>" cannot include decorator

SELECT COUNT(*) FROM `some-project-name.some_dataset.some_table_name@<time1>-<time2>`

注意:

  • 查询(A)已使用旧版SQL框已选中
  • 查询(B)已使用旧版SQL框未选中
  • <time1>是绝对的,是自Unix时代以来以毫秒为单位的创建时间。
  • <time2>是以毫秒为单位的当前时间戳

更新:

正如Mikhail所指出的,此功能不适用于标准SQL。已请求here

2 个答案:

答案 0 :(得分:1)

计划在标准SQL中支持表装饰器但尚未实现。要查看功能请求的详细信息,请参阅:BigQuery feature request tracker。您可以单击此问题的投票并获取电子邮件通知图标(星号)以注册您对该功能的支持。

https://cloud.google.com/bigquery/table-decorators

了解详情

答案 1 :(得分:1)

好消息:现已实施。

https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax

SELECT *
FROM t
  FOR SYSTEM TIME AS OF '2017-01-01 10:00:00-07:00';