BigQuery返回没有匹配的签名

时间:2018-12-10 10:18:34

标签: google-bigquery

我想在如下所示的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]

我在这里想念什么?

1 个答案:

答案 0 :(得分:6)

您正在使用>运算符来比较两种不同的类型,时间戳和日期,这会给您带来错误。如果您想查看过去7天,则可以使用以下过滤器:

where created > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), interval 7 day)

如果您想查看过去的7天,但只返回从UTC午夜开始的行,则可以使用以下过滤器:

where DATE(created) > DATE_SUB(CURRENT_DATE(), interval 7 day)

区别在于,第一个过滤器比较实际的时间戳,其中包括一天中的时间,而第二个过滤器比较没有时间部分的日期。