Sql Google BigQuery:如果项目id包含连字符,则使用表“U查询”-&引用;

Sql Google BigQuery:如果项目id包含连字符,则使用表“U查询”-&引用;,sql,exec,eval,google-bigquery,Sql,Exec,Eval,Google Bigquery,这扩展了Jordan的职位: 下面是一个工作表查询SQL的示例 SELECT count(*) FROM TABLE_QUERY(publicdata:samples, "MSEC_TO_TIMESTAMP(creation_time) < DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY')") 选择计数(*) 从表_查询(publicdata:samples, “毫秒到时间戳(创建时间)

这扩展了Jordan的职位:

下面是一个工作表查询SQL的示例

SELECT count(*)
FROM TABLE_QUERY(publicdata:samples,
    "MSEC_TO_TIMESTAMP(creation_time) < DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY')")
选择计数(*)
从表_查询(publicdata:samples,
“毫秒到时间戳(创建时间)
但是,如果项目id包含“-”连字符,则表查询将失败。例如:

SELECT whatever
FROM TABLE_QUERY(other-public-data:samples,
    "MSEC_TO_TIMESTAMP(creation_time) < DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY')") 
选择任何内容
从表_查询(其他公共数据:样本、,
“毫秒到时间戳(创建时间)
可能是因为解释器看到了减法运算

如果不使用“eval”(JavaScript)或“exec”(Python)操作将字符串转换为变量名,是否有任何建议可以在BigQuery中实现此功能?

使用[]“Escape”:

选择任何内容
从表_查询([其他公共数据:样本],
“毫秒到时间戳(创建时间)
很漂亮,谢谢你,菲利佩。这管用!有一次我测试[]时,又出现了一个错误,将其混淆为正确的语法。谢谢
SELECT whatever
FROM TABLE_QUERY([other-public-data:samples],
  "MSEC_TO_TIMESTAMP(creation_time) < DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY')")