В настоящее время я использую построитель запросов, чтобы извлечь все мои записи из моей базы данных, и в настоящее время они организованы по дням, однако я сортирую их в алфавитном порядке,
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");
}
После некоторого поиска в Google я знаю, что мне нужно заменить последний раздел настраиваемым порядком поиска. что-то вроде:
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
до сих пор я не смог понять, как объединить их, и любая помощь в правильном направлении будет очень нежелательна.
Редактировать решение спасибо за помощь, которую я пошел с объявлением строки и ссылкой на нее в запросе для всех, кому нужно что-то простое, это мой окончательный код для него
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 );
}