0

我在使用 SQlite 创建的表中有日期字段。现在,当我试图对这些日期进行排序时,我向我展示了错误的答案。我使用“2001 年 1 月 1 日”这种格式来存储日期。如何按日期降序检索。我有如下价值观:

2013 年 6 月 24 日

2013 年 6 月 26 日

2012 年 6 月 13 日

2013 年 6 月 13 日

2013 年 6 月 9 日

先谢谢了。

4

2 回答 2

0

请参阅以下链接,sqlite 没有日期数据类型,因此您无法像在其他数据库中那样直接处理日期

http://www.sqlite.org/datatype3.html

于 2013-05-22T10:55:02.843 回答
0

您不能使用 Java 包装器“ContentValues”来使用 datetime 函数。

您可以使用 :

SQLiteDatabase.execSQL,因此您可以输入原始 SQL 查询。

mDb.execSQL("INSERT INTO "+DATABASE_TABLE+" VALUES (null, datetime()) ");

或 java 日期时间功能:

// set the format to sql date time
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date = new Date();
ContentValues initialValues = new ContentValues(); 
initialValues.put("date_created", dateFormat.format(date));
long rowId = mDb.insert(DATABASE_TABLE, null, initialValues);

谢谢。

于 2013-05-22T10:59:32.267 回答