現在、クエリビルダーを使用してデータベースからすべてのレコードを取得していますが、現在は日ごとに整理されていますが、アルファベット順に並べ替えています。
public Cursor fetchAll() {
return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_MODULECODE,
KEY_DAY, KEY_TIME, KEY_DURATION, KEY_TYPE, KEY_ROOM},null, null, null, null,"Day");
}
グーグルで検索した結果、最後のセクションをカスタム検索順序に置き換える必要があることがわかりました。次の行に沿った何か:
select _id, busnum,
case cast (strftime('%w', servdate) as integer)
when 0 then 'Sunday'
when 1 then 'Monday'
when 2 then 'Tuesday'
when 3 then 'Wednesday'
when 4 then 'Thursday'
when 5 then 'Friday'
else 'Saturday' end as servdayofweek
from tb1
where ...
From:
http://stackoverflow.com/questions/4319302/sqlite-return-as-day-of-week
これまでのところ、この 2 つを組み合わせる方法を理解することができず、正しい方向への助けは非常に惜しまれます。
解決策を編集してください。文字列を宣言し、簡単なものが必要な人のためにクエリでそれにリンクするのを助けてくれてありがとう、これが私の最終的なコードです
public Cursor fetchAll() {
String OrderBy ="case Day"+
" when 'Monday' then 0 "+
" when 'Tuesday' then 1"+
" when 'Wednesday' then 2"+
" when 'Thursday' then 3"+
" when 'Friday' then 5"+
" end";
return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_MODULECODE,
KEY_DAY, KEY_TIME, KEY_DURATION, KEY_TYPE, KEY_ROOM},null, null, null, null,OrderBy );
}