我需要将名为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
答案 0 :(得分:0)
built-in date functions仅适用于其中一个supported date formats。
使用yyyy-MM-dd
格式,您无需拨打date()
功能。