我需要比较名为 end_date
的列使用当前日期,但我相信 where 和 order 子句是错误的,因为我没有得到任何结果。我在MySQL
中这样做的方式是这个吗:
WHERE mytable.end_date >= CURDATE() ORDER BY mytable.end_date DESC
这适用于 MySQL
。不用说,end_date
不是 VARCHAR
但有一个日期字段(现在不记得是哪一个了
这就是我在 SQLite
中得到的:
WHERE date(mytable.end_date) >= date('now') ORDER BY date(mytable.end_date) DESC
我做错了什么?
PS:查询无需使用 where 和 order by 子句,并且两个数据库具有相同的数据,唯一的区别是 SQLite
字段是 TEXT
编辑:日期格式如下 Jul 28 11:30:31 EST 2014
这是 EEE MMM dd kk:mm:ss z yyyy
最佳答案
built-in date functions仅适用于 supported date formats 之一.
使用yyyy-MM-dd
格式,则不需要调用date()
函数。
关于Android的SQLite日期比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25005995/