我将数据库中的日期作为字符串存储在我的数据库中,格式如下:
YYYY-MM-DD HH:MM:SS
这是支持的格式之一(http://www.sqlite.org/lang_datefunc.html).现在我想将这些存储的日期(以及字符串)与另一个日期进行比较.我的日期存储在column_date列中,所以我试着这样做:
SELECT * FROM MyTable
WHERE
(Date(column_date) >= Date (2000-01-01) AND Datetime(column_date) <= Datetime (2050-01-01))
当我阅读文档时,日期和时间功能使用IS0-8601日期和时间格式的子集. date()函数返回以下格式的日期:YYYY-MM-DD.所以我想,我做的正确 – 我从存储字符串创建日期,并将其与从另一个字符串创建的日期进行比较.
但是它不起作用,即使column_date是今年的日期,你可以看到开始和结束日期是非常仁慈的.也试过这个(使用datetime而不是日期):
SELECT * FROM MyTable
WHERE
(datetime(column_date) >= Date (2000-01-01) AND datetime(column_date) <= Datetime (2050-01-01))
和这个(使用而不是< =和> =)
SELECT * FROM MyTable
WHERE
(Date(column_date) between Date (2000-01-01) AND Datetime (2050-01-01))
和所有其他可能的组合.我做错了什么,我很愚蠢,还是文件谎言,还是我错过了一些非常重要的东西?试图找到解决方案几个小时,但没有什么工作?