Mysql 如何查询名为“的列”;或;在BigQuery中?
不幸的是,我们有一个表,其中的列是用字段名“OR”编写的 如果我们试图查询这个表-“选择或从等”,我们会得到一个错误,因为或是一个保留字 如何使用BigQuery的遗留SQL查询查询该列?(我们需要这个专栏,而不是其他专栏。) 我们原以为可以使用“SELECT*”和BigQuery的“exclude”功能,但它不是遗留SQL的一部分,所以我们无法使用它。其他想法?我们找到了这个-除了你需要做一些额外的描述。您不能只在名称中添加括号,还需要给它一个新的列名 答案是这样询问:Mysql 如何查询名为“的列”;或;在BigQuery中?,mysql,sql,google-bigquery,Mysql,Sql,Google Bigquery,不幸的是,我们有一个表,其中的列是用字段名“OR”编写的 如果我们试图查询这个表-“选择或从等”,我们会得到一个错误,因为或是一个保留字 如何使用BigQuery的遗留SQL查询查询该列?(我们需要这个专栏,而不是其他专栏。) 我们原以为可以使用“SELECT*”和BigQuery的“exclude”功能,但它不是遗留SQL的一部分,所以我们无法使用它。其他想法?我们找到了这个-除了你需要做一些额外的描述。您不能只在名称中添加括号,还需要给它一个新的列名 答案是这样询问: SELECT [OR]
SELECT [OR] AS new_column_name FROM ...
我知道您正在使用遗留SQL寻找答案(您发现了一个使用括号语法的答案),但对于未来的读者,
或
、和
等是中查询结果的有效列名。以下查询不会返回错误,例如:
WITH T AS (
SELECT
1 AS `or`,
2 AS `and`
)
SELECT * FROM T;
我在查询黑客新闻数据集时遇到了这个问题。看来作者增加了一个“作者”栏。然而,很难进行查询和分析 我试过括号:
SELECT
[by] as author_name
FROM
`bigquery-public-data.hacker_news.full`
LIMIT
1000
但收到以下错误:
Syntax error: Unexpected keyword BY at [2:4]
以下是一个使用标准SQL方言在BigQuery中处理黑客新闻数据集的查询:
SELECT
b.by as author_name
FROM
`bigquery-public-data.hacker_news.full` as b
LIMIT
1000