我在sqlite中有下表:
CREATE TABLE LICENSE (OBJECT_ID INTEGER PRIMARY KEY AUTOINCREMENT,
LICENSE BLOB NOT NULL,
NAME VARCHAR(255),
TYPE VARCHAR(255) NOT NULL,
EXPIRATION_DATE DATE,
CREATION_DATE DATE NOT NULL)
我想显示所有许可证,从最新到最旧的顺序排序。我使用以下简单查询:
SELECT * FROM license order by date(CREATION_DATE) desc
令人惊讶的是,结果是这样的(我只向您显示creation_date列):
11 Sep. 2014 13-59-07
17 Sep. 2014 15-39-26
17 Sep. 2014 17-48-05
18 Sep. 2014 09-59-49
06 Oct. 2014 15-18-44
06 Oct. 2014 15-40-22
因此,我尝试在查询中将asc替换为desc,但得到的结果却完全相同。
如何获得正确的订单?
这些字符串不是受支持的日期格式之一。
可能可以使用substr()来提取日期字段,并使用CASE来用可排序的数字替换月份字符串,但是最好首先以适当的格式将值存储在数据库中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句