我创建了一个bigquery表,其中一列名为“row”(没有引号)...... doh!现在,如果我引用该列,我的sql将无法编译:
SELECT row, etext FROM [hcd.hdctext] LIMIT 1; =ERROR"
我没有在GQL中看到“ROW”作为保留字......
我在某些系统中看到你可以用反引号解决这个问题:
SELECT `row`, etext FROM [hcd.hdctext] LIMIT 1;
(Using reserved words in column names)
在bigquery中以任何方式做同样的事情?否则我将重新上载我的200M数据并重新开始。似乎更改字段名称不是一个很大的功能..但我对如何存储数据很天真。
谢谢!
答案 0 :(得分:14)
BigQuery Legacy SQL使用[]
作为引用字符。 BigQuery Standard SQL使用反引号。
因此,对于Legacy SQL,只需使用
SELECT [row], etext from [hcd.hdctext]
如果你想永久地重命名它,目前无法做到这一点,但你可以在查询中重命名它并保存结果......只需使用
SELECT [row] as newname, .... FROM [hcd.hdctext]
并指定“允许大结果”和目标表名称。
答案 1 :(得分:0)