R 相同的查询,不同的结果。可能的原因?
出于测试目的,我使用两种不同的GUI(RStudio和SquirreSQL)从同一数据库查询同一个表 SquirreLSQL控制台中的查询如下所示:R 相同的查询,不同的结果。可能的原因?,r,postgresql,rstudio,squirrel-sql,rpostgresql,R,Postgresql,Rstudio,Squirrel Sql,Rpostgresql,出于测试目的,我使用两种不同的GUI(RStudio和SquirreSQL)从同一数据库查询同一个表 SquirreLSQL控制台中的查询如下所示: select count(distinct idstr) from fact_table where date::date='2014-10-30' and (w>0 or x>0 or y>0) 在RStudio中,我有以下代码: library(RPostgreSQL) drv <- dbDriver("Postgre
select count(distinct idstr) from fact_table where date::date='2014-10-30' and (w>0 or x>0 or y>0)
在RStudio中,我有以下代码:
library(RPostgreSQL)
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv,"databaseconnectionstring",user ="usr",password ="pwd",dbname = "db")
res <- dbSendQuery(con, "select count(distinct idstr) from fact_table where date::date='2014-10-30' and (w>0 or x>0 or y>0)")
库(RPostgreSQL)
多亏了Jakub的回答,我意识到GUI在不同的时区。为了解决这个问题,我在SquirreLSQL中运行了以下SQL行以找到正确的时区:
SELECT current_setting('TIMEZONE')
dbGetQuery(con, "SET TIMEZONE TO 'America/New_York'")
它返回“America/New_York”,因此我随后在R中运行以下行,以获得同一时区的两个程序:
SELECT current_setting('TIMEZONE')
dbGetQuery(con, "SET TIMEZONE TO 'America/New_York'")
我认为它与日期有关,因为我只使用变量对它进行了测试,结果成功了。您是否尝试查询当前时间的数据库?看来唯一不同的地方就是时区。就是它,@JakubKania!非常感谢。