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

rer*_*adu 16 google-bigquery google-cloud-platform

我有一个BigQuery表,Date其中包含一个date类型的列.我正在尝试运行此查询:

SELECT * FROM dataset.table_name WHERE Date = "2016-07-11"
Run Code Online (Sandbox Code Playgroud)

这会引发错误:

Argument type mismatch in function EQUAL: 'Date' is type int32, '2016-07-11' is type string
Run Code Online (Sandbox Code Playgroud)

我也试过这个查询:

SELECT * FROM dataset.table_name WHERE Date = TIMESTAMP("2016-07-11")
Run Code Online (Sandbox Code Playgroud)

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

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

Mik*_*ant 21

试试以下

WHERE DATE(Date) = "2016-07-11"
Run Code Online (Sandbox Code Playgroud)

我的另外建议是不要使用保留字作为列的名称,我想如果你的列被正确命名 - 你的原始WHERE子句将完美地工作,你不需要使用变通方法DATE()=""