帮助在SQLite中按日期排序结果

lit*_*leK 5 sql sqlite date

在SQLite中有任何方法可以按日期排序,并且按时间而不是按字母顺序排序结果?

例如:

SELECT * FROM details GROUP BY date;

John    |     Smith     |     April 01, 2011
John    |     Smith     |     April 03, 2011
John    |     Smith     |     April 04, 2011
John    |     Smith     |     March 25, 2011
Run Code Online (Sandbox Code Playgroud)

三月应该在四月之前.

我猜这里的答案是将我的日期存储为长时间戳,但我不确定是否可以使用SQLite更轻松地完成.

谢谢!

Vot*_*ple 11

DATESQLite中没有内置类型(在一些其他数据库管理系统中存在),但它确实具有很好的日期和时间函数:http://www.sqlite.org/lang_datefunc.html

您可以使用日期("2011年4月1日")取回ISO-8601日期(例如,2011-04-01).

这种格式具有可读字符串和可排序的优点.2011-03-25自然是在2011-04-01之前通过标准字符串比较规则,所以不需要特殊操作.

因此,以该格式存储日期,并使用date()函数(或其他相关函数)获取该格式.