【发布时间】:2012-11-01 06:46:28
【问题描述】:
我在 SQLitemanager(Android 的 SQL DB 应用程序)中进行以下查询:
SELECT * FROM fahrer, fahrzeuge, nutzungsarten, fahrtenbuch WHERE fahrtenbuch.nutzungsart_id = nutzungsarten._id AND fahrtenbuch.fahrzeuge_id = fahrzeuge._id AND fahrtenbuch.fahrer_id = fahrer._id ORDER BY SUBSTR(fahrtenbuch.startdatum,7,4), SUBSTR(fahrtenbuch.startdatum,4,2), SUBSTR(fahrtenbuch.startdatum,1,2) ASC
返回的订单符合预期。日期按 dd.mm.yyyy 正确排序。
但是当我在 DB-Helper 类 中执行查询时,顺序不一样。 在 DB-Helper 类中:
final String MY_QUERY = "SELECT * FROM fahrer, fahrzeuge, nutzungsarten, fahrtenbuch WHERE fahrtenbuch.nutzungsart_id = nutzungsarten._id AND fahrtenbuch.fahrzeuge_id = fahrzeuge._id AND fahrtenbuch.fahrer_id = fahrer._id ORDER BY SUBSTR(fahrtenbuch.startdatum,7,4), SUBSTR(fahrtenbuch.startdatum,4,2), SUBSTR(fahrtenbuch.startdatum,1,2) ASC";
return mDb.rawQuery(MY_QUERY, null);
在我的活动中:
Cursor curCSV = mDbHelper.fetchAllFahrtenbuchASC();
curCSV.moveToFirst();
while(curCSV.moveToNext())
{
System.out.println("Date of entry: " +curCSV.getString(18));
}
curCSV.close();
有谁知道为什么这不起作用?
【问题讨论】:
标签: android sqlite date sql-order-by