BigQuery - 如何比较" date"列(使用旧版SQL)?

时间:2016-08-22 09:31:04

标签: google-bigquery google-cloud-platform

我有一个BigQuery表,其列Datedate类型。我正在尝试运行此查询:

SELECT * FROM dataset.table_name WHERE Date = "2016-07-11"

这会引发错误:

Argument type mismatch in function EQUAL: 'Date' is type int32, '2016-07-11' is type string

我也试过这个问题:

SELECT * FROM dataset.table_name WHERE Date = TIMESTAMP("2016-07-11")

但是这会返回0结果,尽管我的表在2016-07-11列中至少包含一个具有此值(Date)的记录。

那么,我如何比较BigQuery中的date字段?

2 个答案:

答案 0 :(得分:17)

尝试以下

WHERE DATE(Date) = "2016-07-11"

我的另一个建议是不要将保留字用作列的名称,我认为如果你的列名称正确 - 你的原始WHERE子句将完美地工作,你不需要使用{{1 }}

答案 1 :(得分:2)

这个解决方案对我不起作用:

DATE(Date) = "2016-07-11"

相反,我不得不使用:

Date = TIMESTAMP("2016-07-11")