在BigQuery中,我可以撰写查询,然后在“更多”>“查询设置”下设置目标表。对于没有变量的查询,这可以按预期工作,例如:
SELECT * FROM foo.bar WHERE PARSE_TIMESTAMP("%a, %d %b %Y %X %z", date_created) > '2020-01-01 00:00:00';
但是,当我尝试用一个变量替换该格式设置字符串时,突然在“更多>查询设置”下不存在用于设置目标表的选项。例如:
DECLARE date_format STRING DEFAULT "%a, %d %b %Y %X %z";
SELECT * FROM foo.bar WHERE PARSE_TIMESTAMP(date_format, date_created) > '2020-01-01 00:00:00';
此外,即使我尝试安排第二个查询,也没有设置目标表的选项。
这是预期的行为吗?它记录在任何地方吗?我一直找不到解释。
这不是因为使用参数本身!但是脚本的局限性。
所以,是的,这是预期的-使用脚本时,您不能使用目标,否则会出现错误
如果需要将结果放入某个表中,只需在脚本内使用INSERT INTO或任何其他相关的DML / DDL,就可以使用>]