我试图与日期值小于一个值,以选择行选择性的。由于我获取所有日期值,而不仅仅是那些小于值的值,所以它似乎并不工作。řsqldf不是在时间范围条件
这里的DF结构:
str(sawdf)
'data.frame': 83597 obs. of 10 variables:
$ actiondate : Date, format: "2016-05-08" "2016-05-08" "2016-05-09" ...
下面是一些样本数据:
head(sawdf)
actiondate
2016-05-14
2016-05-15
2016-05-16
2016-05-17
2016-05-18
这里是我的SQL:
sqldf("select distinct actiondate from sawdf where actiondate < '2016-05-18'")
下面是一些结果:
...
6 2016-05-13
7 2016-05-14
8 2016-05-15
9 2016-05-16
10 2016-05-17
11 2016-05-18
12 2016-05-19
正如你可以看到超越2016年5月18日的数据被选中。
我试过几种方法,但得到的结果相同。
感谢
我猜测后端被使用的是SQLite,它没有本机日期类型(如SQL Server所做的那样)。您可能需要在查询中更加明确 - 请参阅[本文](http://stackoverflow.com/questions/13091000/sqlite-compare-dates)了解一些想法。 – nrussell
不确定后端。感谢指向我,但我认为我的问题需要一个R解决方案。 – Jazzmine
nrussell是正确的。 'sqldf'在默认情况下在后端使用'SQLite'。 R解决方案就像'unique(sawdf [sawdf $ actiondate
Gregor