有人可以解释我为什么在以下代码中出现语法错误:
$ bq query --allow_large_results --destination_table=clients.tab_cl1 "SELECT * from adagency-167918:sourcedataset.src_table$20170516 where advertiserid=1 and timestamp="2017-05-16""
这是我得到的错误:
查询字符串出错:处理作业'adagency-167918:bqjob_r215d56938dbaa2b7_0000015c1a4c2932_1'时遇到错误:遇到“” - “” - “”在第1行第31行。 期待:
答案 0 :(得分:0)
编辑:问题与使用bq
无关,实际上,虽然$
存在问题。使用旧版SQL时,如果项目包含连字符,则需要使用[
和]
来转义表名。例如,
[your-project:dataset.table]
使用standard SQL,您可以使用反引号:
`your-project.dataset.table`
所以你的查询应该是:
bq query --allow_large_results \
--destination_table=clients.tab_cl1 \
"SELECT * from [adagency-167918:sourcedataset.src_table\$20170516] where advertiserid=1 and timestamp=timestamp('2017-05-16')"