首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“有没有办法通过Bigquery中的查询从当前日期到昨天的日期之间获取数据?”

问“有没有办法通过Bigquery中的查询从当前日期到昨天的日期之间获取数据?”
EN

Stack Overflow用户
提问于 2019-06-25 12:40:00
回答 2查看 485关注 0票数 0

“在Bigquery中,我使用查询来获取从当前日期到昨天的数据,但是我无法在BQ中获得昨天的日期。”

代码语言:javascript
复制
SELECT COUNT (*) 
FROM `urbn-edw-prod.UrbnProcessingErrors.RetailFeedDimensionError` 
WHERE errorReason = "Invalid Merchandise SKUs" 
AND DATE(ingestionTime) between CURRENT_DATE and DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)

我认为这行代码没有给出昨天的日期

代码语言:javascript
复制
DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)

我想从今天到昨天在BQ中获取数据,但是我想我使用了错误的查询,我希望输出目前是500,但它是0。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-25 12:56:12

您可以使用:

代码语言:javascript
复制
WHERE errorReason = 'Invalid Merchandise SKUs' AND
      DATE(ingestionTime) >=  DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) AND
      DATE(ingestionTime) < CURRENT_DATE())

或者更简单地说:

代码语言:javascript
复制
WHERE errorReason = 'Invalid Merchandise SKUs' AND
      DATE(ingestionTime) = CURRENT_DATE())

当您使用BETWEEN时,最后两个操作数的顺序很重要。第一个值越小,第二个值越大。

票数 0
EN

Stack Overflow用户

发布于 2019-06-25 13:07:52

我预计目前的产量是500,但现在是0。

这是因为你在线下有错误的顺序。

代码语言:javascript
复制
AND DATE(ingestionTime) between CURRENT_DATE and DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)   

相反,您应该使用

代码语言:javascript
复制
AND DATE(ingestionTime) between DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) and CURRENT_DATE    

我认为这行代码没有给出昨天的日期

DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)昨天给出了这个问题--正如上面所解释的--但是,您也可以使用下面的

代码语言:javascript
复制
DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)    

还请注意,当您在

代码语言:javascript
复制
AND DATE(ingestionTime) = CURRENT_DATE     

或者就在昨天-你可以用

代码语言:javascript
复制
AND DATE(ingestionTime) = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56754306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档