在使用RPostgres软件包连接Redshift时遇到问题。我不确定这与我们的数据库设置有关,还是与程序包有关。
在Redshift中使用相同的确切查询与在RPostgres包中在R中使用相同的确切查询时,会得到不同的结果。
它的出现完全归因于日期数学,因为当不使用日期时,我的总行数以及其他所有内容都匹配。
例如,这可能是我在Redshift(使用元数据库)中运行的查询。如果我使用RPostgres软件包在R中运行相同的确切查询,我将获得完全不同的结果。
^(feature(s)?|release(s)?|hotfix(es)?)(\/[a-z\d]+)([-/_.][a-z\d]+)+$
Metabase中的日期很有意义。它仅显示三天前的一天。但是,在R中显示2天。
在此示例中,将日期视为时间戳。
有人遇到过这个问题,还是知道存在的问题并解决?
答案 0 :(得分:1)
通常最好对日期绝对明确,以确保会话设置不会无意间影响查询。试试这个:
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更改时区。