1

我在Standard SQL Lexical Structure - Lexical Structure - Reserved Keywords找到了标准 SQL 的保留关键字列表。

但是我找不到 Legacy SQL 的等效列表,尽管在Legacy SQL Functions and Operators - Query Syntax - SELECT Clause中有对它的引用:

您可以使用方括号对保留字进行转义,以便将它们用作字段名和别名。例如,如果您有一个名为“prefix”的列,它是 BigQuery 语法中的保留字,则引用该字段的查询将失败并显示模糊的错误消息,除非您使用方括号对其进行转义

我知道有些关键字是不同的;例如 Legacy SQL 有FLATTEN我认为是保留的,而 Standard SQL 没有。

任何指针都会有所帮助。

4

1 回答 1

0

没有特定的 Google 公开文档指定 BigQuery 旧版服务的保留字列表。我发现的最准确的参考是语法差异,它指出了您可以在标准和旧版本中使用的转义保留关键字方法,正如您之前所提到的。

基于此,我认为当前的解决方法是使用可用的保留关键字列表作为参考,并在使用 BigQuery 时将标记为保留的单词转义。此外,您可以使用位于Legacy SQL公共文档左下角和右上角的“发送反馈”按钮来请求添加 Legacy SQL 的关键字列表。

于 2018-08-16T14:12:55.027 回答