【问题标题】:Extract data by SQL from R?通过 SQL 从 R 中提取数据?
【发布时间】:2015-05-11 02:30:25
【问题描述】:

当我从 SQL 中提取数据时如何更改 R 中的参数?

这是我的例子,我要控制时间。

library(RODBC)
library(dplyr)
r <- "

SELECT 
    *
FROM table
where time > '01 May 2015'
"

Con <- odbcConnect(dsn="SQL")
t1 <- Sys.time() 
spynet <- sqlQuery(Con , r)
odbcClose(Con)

【问题讨论】:

  • 我不确定我是否理解您的要求,但您可以单独设置time,然后使用paste,例如time &lt;- "'10 May 2015'" ; r &lt;- paste("SELECT * FROM table where time &gt;", time),虽然我不确定'01 May 2015' 是一个有效的日期 SQL 明智的。
  • 不工作,谢谢。
  • 您在数据库中的time 列中的日期是如何定义的?也许time &lt;- "'2015-05-01'" ; r &lt;- paste("SELECT * FROM table where time &gt;", time)
  • 该列的类型是什么?它甚至是Date 类型的吗?无论哪种方式,您似乎都有一个 SQL 问题而不是 R 问题。
  • 我已经向您展示了如何执行此操作。例如r &lt;- paste0("SELECT * FROM table where time &gt; '", Sys.Date(), "'")。但这主要取决于您数据库中的列。

标签: sql r


【解决方案1】:

试试下面:

#format the date as string to match database format
t1 <- format(Sys.time(), format="%B %d %Y")

r <- paste0("SELECT * FROM table WHERE time > '", t1, "'")

#run the query
sqlQuery(Con , r)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
  • 1970-01-01
  • 2011-01-02
  • 2015-06-19
  • 1970-01-01
  • 2020-09-23
相关资源
最近更新 更多