16

我制作了一个 bigquery 表,其中有一列名为“row”(不带引号)...... doh!现在,如果我引用该列,我的 sql 将无法编译:

SELECT row, etext FROM [hcd.hdctext] LIMIT 1; =ERROR"

我没有看到“ROW”作为 GQL 中的保留字......

我看到在某些系统中,您可以使用反引号解决该问题:

SELECT `row`, etext FROM [hcd.hdctext] LIMIT 1;

在列名中使用保留字

有什么方法可以在 bigquery 中做同样的事情吗?否则我将不得不重新上传我的 200M 数据并重新开始。似乎更改字段名称不是一个大功能..但我对数据的存储方式很幼稚。

谢谢!

4

2 回答 2

24

BigQuery 旧版 SQL[]用作引号字符。BigQuery 标准 SQL 使用反引号。

因此,对于旧版 SQL,只需使用

SELECT [row], etext from [hcd.hdctext]

如果您想永久重命名它,目前没有办法做到这一点,但您可以在查询中重命名它并保存结果......只需使用

SELECT [row] as newname, .... FROM [hcd.hdctext]

并指定“允许大结果”和目标表名。

于 2013-09-19T22:48:32.627 回答
0

DOCS - CTRL-F“括号”,它将带您直接进入文档中的段落。

这已经晚了很多年,但根据Chris的建议,这里有一个文档链接以供将来参考。我无法将其作为直接回复发布,但该问题很久以前就被标记为已回答。

于 2017-04-18T16:47:25.843 回答