BigQuery返回无匹配签名

Tis*_*dul 0 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]

我在这里错过了什么?

Ell*_*ard 6

您正在使用>运算符来比较两种不同的类型,时间戳和日期,这会给您一个错误.如果你想看看过去七天,你会使用这个过滤器:

where created > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), interval 7 day)
Run Code Online (Sandbox Code Playgroud)

如果您想要查看过去七天,但只返回从UTC午夜开始的行,您将使用此过滤器:

where DATE(created) > DATE_SUB(CURRENT_DATE(), interval 7 day)
Run Code Online (Sandbox Code Playgroud)

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