sqldf: consulta dados por intervalo de datas

Estou lendo um enorme arquivo de texto que possui'%d/%m/%Y' Formato de data. Eu quero usar o read.csv.sql do sqldf para ler e filtrar os dados por data ao mesmo tempo. Isso economiza o uso da memória e o tempo de execução ignorando muitas datas nas quais não estou interessado. Sei como fazer isso com a ajuda dedplyr elubridate, mas eu só quero tentar comsqldf pelo motivo acima mencionado. Embora eu esteja familiarizado com a sintaxe SQL, ele ainda me deixa na maior parte do tempo, sem exceção comsqldf.

Executar um comando como o seguinte retornou um data.frame com 0 linha:

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)

Então, para simulação, eu tentei comsqldf funcionar da seguinte maneira:

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

questionAnswers(1)

yourAnswerToTheQuestion