R RDB 使用 RODBC 连接查询日期
R RDB Query of date using RODBC Connection
我正在尝试使用类似 Sys.Date()-1 的方法查询旧的 Oracle RDB 数据库,因为它在 R 中有效,但我找不到正确的语法。
以下有效,但我想 运行 定期执行,因此固定的时间范围不起作用:
`Output <- SQLQuery ("SELECT * FROM tablename WHERE productionDate BETWEEN 20-FEB-2017 00:00:00 AND 21-FEB-2017 23:59:00")`
我想要这样的东西:
Output <- SQLQuery ("SELECT * FROM tablename WHERE productionDate >= Today()-1")
我也试过在查询之外分配宏变量,然后调用。内部查询没有成功。这些条目可以追溯到几年前,所以要花几分钟时间 运行 查询,然后我必须在事后对数据进行子集化。我希望 R 有更好的方法来查询数据库,即使是基于日期的旧数据库。
感谢您的帮助。
是这样的吗?
startDt <- as.Date("2016-02-12")
endDate <- as.Date("2016-03-12")
sqlstr <- paste0("SELECT * FROM tablename WHERE productionDate BETWEEN '",
paste(format(c(startDt, endDate), "%d %B %Y"), collapse="' and '"),"'")
sqlstr
我正在尝试使用类似 Sys.Date()-1 的方法查询旧的 Oracle RDB 数据库,因为它在 R 中有效,但我找不到正确的语法。
以下有效,但我想 运行 定期执行,因此固定的时间范围不起作用:
`Output <- SQLQuery ("SELECT * FROM tablename WHERE productionDate BETWEEN 20-FEB-2017 00:00:00 AND 21-FEB-2017 23:59:00")`
我想要这样的东西:
Output <- SQLQuery ("SELECT * FROM tablename WHERE productionDate >= Today()-1")
我也试过在查询之外分配宏变量,然后调用。内部查询没有成功。这些条目可以追溯到几年前,所以要花几分钟时间 运行 查询,然后我必须在事后对数据进行子集化。我希望 R 有更好的方法来查询数据库,即使是基于日期的旧数据库。
感谢您的帮助。
是这样的吗?
startDt <- as.Date("2016-02-12")
endDate <- as.Date("2016-03-12")
sqlstr <- paste0("SELECT * FROM tablename WHERE productionDate BETWEEN '",
paste(format(c(startDt, endDate), "%d %B %Y"), collapse="' and '"),"'")
sqlstr