我正在使用SQLite DB,并且具有“日期”列,即VARCHAR
我需要提取2个日期之间的数据...
这就是我尝试过的...
SELECT * FROM Table1 WHERE Date BETWEEN '14/03/2017 17:00:10' AND '16/03/2018 17:00:12'
SELECT * FROM Table1 WHERE strftime('%d/%m/%y %H:%M:%S', Date) BETWEEN strftime('%d/%m/%y %H:%M:%S','15/07/2016 20:00:09') AND strftime('%d/%m/%y %H:%M:%S','16/07/2017 21:00:09')
SELECT * FROM Table1 WHERE strftime('%d/%m/%y %H:%M:%S', Date) BETWEEN '2017/07/15 20:00:09' AND '2017/07/17 21:00:09'
知道我在做什么错吗?
最佳答案
如果您有日期/时间列,则只需执行以下操作:
SELECT t1.*
FROM Table1 t1
WHERE t1.Date >= '2017-03-14 17:00:10' AND
t1.Date < '2018-03-16 17:00:12';
为常数使用ISO / ANSI标准日期格式!
我强烈不建议您将
between
与日期/时间值一起使用。 Here是关于该主题的博客文章,尽管对于SQL Server,该文章适用于所有数据库。
关于sql - SQLite解析TEXT列以及日期信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49362272/