我开发了一个 App ..为此我有一个数据库,它有很多表。其中一张表有日期列。 我的问题是我必须对日期进行排序,并且必须从下表列中选择最旧的日期,例如 Oct-24-2012
列日期
--------------
2012 年 11 月 7 日
2012 年 11 月 21 日
2012 年 11 月 25 日
2012 年 10 月 25 日
2102 年 10 月 24 日
我该怎么做....我已将日期列存储在字符串中...如果我需要更改日期列的数据类型,请告诉我应该使用哪种数据类型。以及我应该如何对列进行排序。根据该数据类型..
最佳答案
在 sqlite 中并没有真正的日期类型。您可以使用其中一种预定义格式将日期存储为字符串,请参阅 http://www.sqlite.org/lang_datefunc.html获取更多信息。
时间字符串可以是以下任何一种格式:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD
您需要将它们存储在 YYYY-MM-DD 中,然后您可以按升序限制 1 对它们进行排序以获得最早的日期。 所以不是
Column_Date
------------
Nov-07-2012
Nov-21-2012
Nov-25-2012
Oct-25-2012
Oct-24-2102
你必须像这样存储它们
Column_Date
------------
2012-11-07
2012-11-21
2012-11-25
2012-10-25
2012-10-24
最后你读了行
Cursor oldestDateCursor = db.query("DateTableName", null, null, null, null, null, "date_column ASC LIMIT 1");
if (oldestDateCursor.moveToFirst())
{
String date = oldestDateCursor.getColumnName(oldestDateCursor.getColumnIndex("date_column"));
}
oldestDateCursor.close();
关于android - 在sqlite数据库中排序日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13300463/