我在Standard SQL Lexical Structure - Lexical Structure - Reserved Keywords处找到了标准SQL的保留关键字列表。
但是我找不到旧版SQL的等效列表,尽管在Legacy SQL Functions and Operators - Query Syntax - SELECT Clause中有对它的引用:
您可以使用方括号对保留字进行转义,以便将它们用作字段名和别名。例如,如果您有一列名为“ prefix”的列,这是BigQuery语法中的保留字,则引用该字段的查询将失败,并显示模糊的错误消息,除非您使用方括号将其转义
我知道某些关键字是不同的;例如,传统SQL具有FLATTEN
,我认为它是保留的,而标准SQL没有。
任何指针都会有所帮助。
答案 0 :(得分:0)
没有特定的Google公开文档为BigQuery旧版服务指定保留字列表。我找到的最准确的参考文献是Syntax differences,它指出了您可以在标准版和旧版中使用的转义保留关键字方法。
基于此,我认为当前的解决方法是使用可用的Reserved Keywords列表作为参考,并避免使用BigQuery时标记为保留的单词。另外,您可以使用Legacy SQL公共文档左下角和右上角的发送反馈按钮,以请求为Legacy SQL添加关键字列表。