首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日期数学不会在R和Redshift中得到相同的结果

日期数学不会在R和Redshift中得到相同的结果
EN

Stack Overflow用户
提问于 2019-04-26 14:22:44
回答 1查看 43关注 0票数 0

在使用RPostgres包与Redshift连接时,我遇到了问题。我不确定这是我们的数据库设置的问题,还是包中已知的问题。

当我在Redshift中使用相同的查询,而在R中使用RPostgres包时,我得到了不同的结果。

这似乎完全是由于日期的数学,因为我的整个行计数匹配,以及其他一切,当不使用日期。

例如,这可能是我在Redshift中运行的一个查询(使用Metabase)。如果我使用RPostgres包在R中运行相同的查询,我将得到完全不同的结果。

代码语言:javascript
复制
SELECT
orders.*
FROM
orders
WHERE 
orders.date >= current_date-3
AND 
orders.date < current_date-2

元数据库中的日期是有意义的。只显示了一天,三天前。然而,在R,它显示2天。

就本例而言,考虑日期为时间戳。

有没有人遇到过这样的问题,或者知道一个存在的问题并解决了这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-26 15:46:07

通常最好是绝对明确日期,以确保会话设置不会无意中影响查询。试试这个:

代码语言:javascript
复制
SELECT
orders.*
FROM
orders
WHERE 
orders.date >= date_trunc('day', current_timestamp at time zone 'utc') - '3 days'::interval
AND 
orders.date < date_trunc('day', current_timestamp at time zone 'utc') - '2 days'::interval

如果日期隐式存储在不同的时区中,则可能必须从utc更改时区。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55869627

复制
相关文章

相似问题

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