5

我在使用使用标准 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) 已选中Use Legacy SQL 框。
  • 查询 (B)未选中Use Legacy SQL 框。
  • <time1>是绝对的,是自 Unix 纪元以来表的创建时间,以毫秒为单位。
  • <time2>是以毫秒为单位的当前时间戳

更新:

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

4

2 回答 2

10

好消息:它现在已经实施。

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';
于 2019-01-14T20:46:26.817 回答
1

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

在https://cloud.google.com/bigquery/table-decorators查看更多信息

于 2016-12-02T18:45:33.043 回答