Android SQLite问题

时间:2010-11-26 16:08:14

标签: android sqlite

当我以DESC顺序选择日期时,我已将日期存储为SQLite数据库(MM / DD / YYYY格式)中的主键,它没有按正确的顺序选择,即代替

26NOV2010

25NOV2010

26NOV2009

25NOV2009

就像那样打印

26NOV2010

26NOV2009

25NOV2010

25NOV2009

plz提供了一些指针,用于以正确的格式存储日期并按降序检索。

感谢你

1 个答案:

答案 0 :(得分:2)

SQLite将您的日期视为字符串,只需将它们排序为排序字符串。 SQLite没有DATE的特定数据类型。您需要将日期值存储在SQLite的日期/时间函数中。

从SQLite文档: SQLite没有为存储日期和/或时间而预留的存储类。相反,SQLite的内置日期和时间函数能够将日期和时间存储为TEXT,REAL或INTEGER值:

* TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
* REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
* INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC. 

应用程序可以选择以任何格式存储日期和时间,并使用内置的日期和时间函数在格式之间自由转换。如Unix时间,自1970-01-01 00:00:00以来的秒数世界标准时间。

请参阅Datatypes In SQLite Version 3Date And Time Functions