sqldf: Daten nach Datumsbereich abfragen

Ich lese aus einer riesigen Textdatei mit'%d/%m/%Y' Datumsformat. Ich möchte read.csv.sql von sqldf verwenden, um die Daten gleichzeitig nach Datum zu lesen und zu filtern. Dies spart Speicherplatz und Laufzeit, indem viele Daten übersprungen werden, an denen ich nicht interessiert bin. Ich weiß, wie dies mit Hilfe von @ zu tun isdplyr undlubridate, aber ich möchte nur mit @ versuchsqldf aus dem oben genannten Grund. Obwohl ich mit der SQL-Syntax gut vertraut bin, bekomme ich sie die meiste Zeit, keine Ausnahme mitsqldf.

Ausführender Befehl wie der folgende gab einen data.frame mit der Zeile 0 zurück:

first_date <- "2001-11-1"
second_date <- "2003-11-1"
query <- "select * from file WHERE strftime('%d/%m/%Y', Date, 'unixepoch', 'localtime') between
                    '$first_date' AND '$second_date'"
df <- read.csv.sql(data_file,
                       sql= query,
                       stringsAsFactors=FALSE,
                       sep = ";", header = TRUE)

Also für die Simulation habe ich versucht mitsqldf funktioniert wie folgt:

first_date <- "2001-11-1"
second_date <- "2003-11-1"
df2 <- data.frame( Date = paste(rep(1:3, each = 4), 11:12, 2001:2012, sep = "/"))
sqldf("SELECT * FROM df2 WHERE strftime('%d/%m/%Y', Date, 'unixepoch') BETWEEN '$first-date' AND '$second_date' ") 

# Expect:
# Date
# 1  1-11-2001
# 2  1-12-2002
# 3  1-11-2003

Antworten auf die Frage(1)

Ihre Antwort auf die Frage