我想在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]
我在这里想念的是什么?
您正在使用 > 运算符来比较两种不同的类型,时间戳和日期,这会给您一个错误 . 如果你想看看过去七天,你会使用这个过滤器:
>
where created > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), interval 7 day)
如果您想要查看过去七天,但只返回从UTC午夜开始的行,您将使用此过滤器:
where DATE(created) > DATE_SUB(CURRENT_DATE(), interval 7 day)
区别在于第一个过滤器比较实际时间戳,其中包括一天中的时间,而第二个过滤器比较没有时间部分的日期 .
1 回答
您正在使用
>
运算符来比较两种不同的类型,时间戳和日期,这会给您一个错误 . 如果你想看看过去七天,你会使用这个过滤器:如果您想要查看过去七天,但只返回从UTC午夜开始的行,您将使用此过滤器:
区别在于第一个过滤器比较实际时间戳,其中包括一天中的时间,而第二个过滤器比较没有时间部分的日期 .