在 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
三月应该在四月之前到来。
我猜这里的答案是将我的日期存储为长时间戳,但是我不确定是否可以使用 SQLite 更轻松地完成它。
谢谢!
最佳答案
SQLite 中没有内置的DATE
类型(存在于其他一些数据库管理系统中),但它确实有一个很好的日期和时间函数补充:http://www.sqlite.org/lang_datefunc.html
您可以使用 date("April 01, 2011") 获取 ISO-8601 日期(例如,2011-04-01)。
这种格式具有可读字符串和可排序的优点。根据标准字符串比较规则,2011-03-25 自然会排在 2011-04-01 之前,因此无需特殊操作。
因此,以该格式存储您的日期,并使用 date()
函数(或其他相关函数)获取该格式。
关于sql - 帮助在 SQLite 中按日期排序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5733449/