根据日期从SQL数据库中读取表

时间:2017-10-26 17:24:12

标签: r

我正在尝试使用sqlQuery函数从SQL数据库中读取表。具体来说,我想要一个日期作为输入的函数,然后从SQL数据库中选择与给定日期匹配的数据。命令如下:

example=function(dateA)
{sqlQuery(channel,paste("select * from TABLE","where date=dateA"))}

example('2017-10-26')

请注意,SQL表上的日期格式为YYYY-MM-DD,并且在sqlQuery函数上写入特定日期时,上述命令正常工作。即使用命令时:

sqlQuery(channel,paste("select * from TABLE","where date='2017-10-26'"))

然而,当调用函数 example 并将日期作为输入时,这不起作用。 有没有人知道是否有办法克服这个问题?

1 个答案:

答案 0 :(得分:1)

这是因为dateA被视为字符串的一部分,而不是替换dateA,请尝试改为:

example=function(dateA){
  sqlQuery(channel,paste0("select * from TABLE","where date=", dateA))
}

example('2017-10-26')

此处,当您致电dateA'2017-10-26'替换为examplepaste0代替"select * from TABLE","where date="'2017-10-26'dateA {1}})一起形成"select * from TABLE","where date='2017-10-26'"