0

我有一个应用程序,可以对包含两个表的数据库进行此 SQL 查询,一个包含项目的表和一个包含日期集的表。每个数据集都可以来自一个项目,它是一组日期(:))

SELECT distinct items.date from items left join datesets on items.inicio=datesets.capoID 和 items.capoID=datesets.capoID ORDER BY datesets.date

我按 datesets.date 排序,因为 date 是表示日期的整数,例如:1357340400

在 android 4.X 手机上,查询给了我正确排序的结果。查询的结果是:

11-28 13:24:09.457: I/System.out(9148): 16-03-2012
11-28 13:24:09.457: I/System.out(9148): 01-06-2012
11-28 13:24:09.457: I/System.out(9148): 22-06-2012
11-28 13:24:09.457: I/System.out(9148): 21-07-2012
11-28 13:24:09.457: I/System.out(9148): 26-09-2012
11-28 13:24:09.457: I/System.out(9148): 30-10-2012
11-28 13:24:09.457: I/System.out(9148): 05-12-2012
11-28 13:24:09.457: I/System.out(9148): 08-12-2012
11-28 13:24:09.457: I/System.out(9148): 27-12-2012
11-28 13:24:09.457: I/System.out(9148): 05-01-2013
11-28 13:24:09.457: I/System.out(9148): 25-02-2013
11-28 13:24:09.457: I/System.out(9148): 10-03-2013
11-28 13:24:09.457: I/System.out(9148): 23-04-2013
11-28 13:24:09.457: I/System.out(9148): 27-04-2013
11-28 13:24:09.457: I/System.out(9148): 11-05-2013
11-28 13:24:09.457: I/System.out(9148): 23-06-2013
11-28 13:24:09.457: I/System.out(9148): 01-07-2013
11-28 13:24:09.457: I/System.out(9148): 15-08-2013
11-28 13:24:09.457: I/System.out(9148): 11-09-2013
11-28 13:24:09.457: I/System.out(9148): 21-09-2013

在 Android 3.2、2.3 等(低于 4 的版本)中,结果不正确,没有正确排序:

11-28 13:22:50.734: I/System.out(3181): 01-06-2012
11-28 13:22:50.734: I/System.out(3181): 16-03-2012
11-28 13:22:50.734: I/System.out(3181): 21-07-2012
11-28 13:22:50.734: I/System.out(3181): 26-09-2012
11-28 13:22:50.734: I/System.out(3181): 22-06-2012
11-28 13:22:50.734: I/System.out(3181): 30-10-2012
11-28 13:22:50.734: I/System.out(3181): 08-12-2012
11-28 13:22:50.734: I/System.out(3181): 27-12-2012
11-28 13:22:50.734: I/System.out(3181): 05-01-2013
11-28 13:22:50.734: I/System.out(3181): 05-12-2012
11-28 13:22:50.734: I/System.out(3181): 25-02-2013
11-28 13:22:50.734: I/System.out(3181): 10-03-2013
11-28 13:22:50.734: I/System.out(3181): 23-04-2013
11-28 13:22:50.734: I/System.out(3181): 27-04-2013
11-28 13:22:50.734: I/System.out(3181): 11-05-2013
11-28 13:22:50.734: I/System.out(3181): 23-06-2013
11-28 13:22:50.734: I/System.out(3181): 01-07-2013
11-28 13:22:50.734: I/System.out(3181): 15-08-2013
11-28 13:22:50.734: I/System.out(3181): 11-09-2013
11-28 13:22:50.734: I/System.out(3181): 21-09-2013

编辑:

我使用这个代码来打印日期:

 cursor.moveToFirst();
        while (cursor.isAfterLast() == false) {
            System.out.println(cursor.getString(3)); 
            cursor.moveToNext();
        }       
4

0 回答 0