首页 > 解决方案 > Legacy SQL - 此查询如何编译?

问题描述

我在 Legacy SQL 中遇到了一个令人惊讶的行为。事实上,我无意中启动了这个查询(我以'[[date]]'编程方式替换了它,我只是忘记在 UI 中替换它):

SELECT DATE(ComputationDate) as date 
FROM [project:dataset.table]
WHERE DATE(ComputationDate) < '[[date]]' 
ORDER BY date

它奏效了!我检索到今天为止的所有数据。这在标准 SQL 中失败了,但这是预期的行为吗?

这不是什么大问题,但如果我的替换失败,我无法从代码中看到它,因为查询仍在编译。

谢谢

标签: google-bigquery

解决方案


低于版本(BigQuery Legacy SQL)将不返回任何行,这可以很好地指示您出现问题

#legacySQL
SELECT DATE(ComputationDate) as date 
FROM [project:dataset.table]
WHERE DATE(ComputationDate) < DATE('[[date]]') 
ORDER BY date

推荐阅读