“在Bigquery中,我使用查询来获取从当前日期到昨天的数据,但是我无法在BQ中获得昨天的日期。”
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)我认为这行代码没有给出昨天的日期
DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)我想从今天到昨天在BQ中获取数据,但是我想我使用了错误的查询,我希望输出目前是500,但它是0。
发布于 2019-06-25 12:56:12
您可以使用:
WHERE errorReason = 'Invalid Merchandise SKUs' AND
DATE(ingestionTime) >= DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) AND
DATE(ingestionTime) < CURRENT_DATE())或者更简单地说:
WHERE errorReason = 'Invalid Merchandise SKUs' AND
DATE(ingestionTime) = CURRENT_DATE())当您使用BETWEEN时,最后两个操作数的顺序很重要。第一个值越小,第二个值越大。
发布于 2019-06-25 13:07:52
我预计目前的产量是500,但现在是0。
这是因为你在线下有错误的顺序。
AND DATE(ingestionTime) between CURRENT_DATE and DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) 相反,您应该使用
AND DATE(ingestionTime) between DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) and CURRENT_DATE 我认为这行代码没有给出昨天的日期
DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)昨天给出了这个问题--正如上面所解释的--但是,您也可以使用下面的
DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY) 还请注意,当您在
AND DATE(ingestionTime) = CURRENT_DATE 或者就在昨天-你可以用
AND DATE(ingestionTime) = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)https://stackoverflow.com/questions/56754306
复制相似问题