Google BigQuery 旧语法的保留字列表

Posted

技术标签:

【中文标题】Google BigQuery 旧语法的保留字列表【英文标题】:List of reserved words for Google BigQuery legacy syntax 【发布时间】:2018-08-16 07:42:08 【问题描述】:

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

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

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

我知道有些关键字是不同的;例如,旧版 SQL 有 FLATTEN,我假设它是保留的,而标准 SQL 没有。

任何指针都会有所帮助。

【问题讨论】:

我也找不到。出于好奇,你为什么需要它? 【参考方案1】:

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

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

【讨论】:

以上是关于Google BigQuery 旧语法的保留字列表的主要内容,如果未能解决你的问题,请参考以下文章

在哪里搜索 Scala 语法 - 保留字、关键字、运算符?

BigQuery 中用于 Google Analytics 数据的标准 SQL 还是旧版 SQL?

BigQuery 中使用 Google Analytics 导出数据的队列/保留查询

008 Python基本语法元素小结

Google BigQuery 的 SQL 语法不存在

google-bigquery 如何使用 https 获取数据集列表?