我有一个BigQuery表,其列Date
是date
类型。我正在尝试运行此查询:
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
字段?
答案 0 :(得分:17)
尝试以下
WHERE DATE(Date) = "2016-07-11"
我的另一个建议是不要将保留字用作列的名称,我认为如果你的列名称正确 - 你的原始WHERE
子句将完美地工作,你不需要使用{{1 }}
答案 1 :(得分:2)
这个解决方案对我不起作用:
DATE(Date) = "2016-07-11"
相反,我不得不使用:
Date = TIMESTAMP("2016-07-11")