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

标签 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

三月应该在四月之前到来。

我猜这里的答案是将我的日期存储为长时间戳,但是我不确定是否可以使用 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/

相关文章:

mysql - 从表中删除重复行

php - ' -- +'的SQL注入(inject)函数

sqlite - SQLite数据库不存储先前插入的数据

android - 我的应用程序运行时调用了我的应用程序对象的 onCreate,并且我的应用程序重置了。什么会导致这个?

iphone - 在iphone中全局定义sqlite3数据库

java - 从 CST 到 GMT 的日期格式转换不起作用

mysql - 使用 "IN"命令将数组作为参数传递给 SQL 查询

mysql - SQL如何统计相同专业的人数

Mysql - 将详细日期格式更改为 Y-m-d

php - 检查事件是在其他事件之前、之后还是期间