这似乎是一个古老的重复问题,但我找到的帖子都没有在我的案例中起作用。我有这个简单的SQL查询:
min.t <- "2017-10-17 00:00:00"
max.t <- "2017-10-17 08:00:00"
query <- paste0('select * from pred where \"current.time\">\"',min.t,'\" and
\"current.time\"<\"',max.t,'\"')
"select * from pred where \"current.time\">\"2017-10-17 00:00:00\" and
\"current.time\"<\"2017-10-17 08:00:00\""
因为你可以看到由于简单的引用而留下的反斜杠。我需要保留查询的简单引号,因为列名称包含一个点。如果我从粘贴中移除反射,我得到相同的结果:
paste0('select * from pred where "current.time">"',min.t,'" and
"current.time"<"',max.t,'"')
[1] "select * from pred where \"current.time\">\"2017-10-17 00:00:00\" and
\"current.time\"<\"2017-10-17 08:00:00\""
和
gsub('\\\\', '', query)
似乎忽略了它们。
答案 0 :(得分:2)
我会将您的原始SQLite查询说成这样:
select *
from pred
where
"current.time" > '2017-10-17 00:00:00' and
"current.time" < '2017-10-17 08:00:00';
在R中,您可以在字符变量中使用上面的确切查询,例如
query <- paste0("select * from pred where \"current.time\" > '2017-10-17 00:00:00' ",
"and \"current.time\" < '2017-10-17 08:00:00'")
请注意,我们可以对您的WHERE
子句进行简化,并使用BETWEEN
,这会导致:{/ p>
query <- paste0("select * from pred where \"current.time\" between ",
"'2017-10-17 00:00:01' and '2017-10-17 07:59:59'")