我想在如下所示的BigQuery控制台上运行查询
where created > DATE_SUB(CURRENT_DATE(), interval 7 day)
我得到的错误是
No matching signature for operator > for argument types: TIMESTAMP, DATE. Supported signatures: ANY > ANY at [3:7]
我在这里想念什么?
答案 0 :(得分:6)
您正在使用>
运算符来比较两种不同的类型,时间戳和日期,这会给您带来错误。如果您想查看过去7天,则可以使用以下过滤器:
where created > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), interval 7 day)
如果您想查看过去的7天,但只返回从UTC午夜开始的行,则可以使用以下过滤器:
where DATE(created) > DATE_SUB(CURRENT_DATE(), interval 7 day)
区别在于,第一个过滤器比较实际的时间戳,其中包括一天中的时间,而第二个过滤器比较没有时间部分的日期。