这似乎是一个非常愚蠢的问题,但我找不到任何关于它的信息
假设我有以下对象调用 SQL 连接
sql1 = na.omit(sqlQuery(con,paste("SELECT UNIX_TIMESTAMP(timestamp), rawPressure1, rawPressure2 FROM ",sensorname[[1]][1],"_Data WHERE timestamp > '2013-05-25 17:29:00' AND timestamp < '2013-06-10 15:33:00'", sep="")));
该语句完美地抓取了我想要的所有数据等。但现在我想稍微自动化一下。
假设我有一个编译开始和结束时间的对象
> flowobs <- na.omit(read.csv('FlowObs.csv', header=TRUE))
Start Finish FlowObs Head
1 2013-05-25 17:29:00 2013-05-26 18:38:00 0.3307309 70.8750
2 2013-05-27 16:22:00 2013-05-28 20:15:00 0.3286909 72.1250
3 2013-05-29 13:05:00 2013-05-30 14:42:00 0.3211857 74.0000
4 2013-05-30 15:08:00 2013-06-03 11:54:00 0.3277443 75.0625
5 2013-06-05 12:13:48 2013-06-06 14:30:00 0.3490507 77.3125
现在让我们创建一个对象来获取数据集 flowobs[[1]][1] 的范围(测试过程的开始),然后是结束 flowobs[[2]][length(flowobs[[2]]) ]
range <- c(paste(flowobs[[1]][1],sep = "'"),paste(flowobs[[2]][length(flowobs[[2]])],sep="'")
所以这就是我的问题所在。让我们回到 SQL 语法。
...WHERE timestamp > '2013-05-25 17:29:00' AND timestamp < '2013-06-10 15:33:00'", sep="")));
SQL 语法要求日期在字符串周围有反引号。
如果我们查看我的对象范围的结构,您会期望
...WHERE timestamp > ",range[[1]]," AND timestamp < ",range[[2]], sep="")));"
这应该可以正常工作....它没有。当我们查看范围对象的元素时,我们得到了这个。
> range[[1]]
“2013-05-25 17:29:00”
不是这个
'2013-05-25 17:29:00'
有谁知道我如何解决这个问题?