Сортировать базу данных sqlite по времени на Android - PullRequest
0 голосов
/ 14 января 2012

Я использую этот код-

myDB.rawQuery("SELECT * FROM " + TableName+ " ORDER BY "+ params[0], null);

для сортировки таблицы по столбцам, и она прекрасно работает, за исключением того, что один из столбцов - это время (как в itunes), то есть 2:35 в течение 2 минут 35 секунд. Это приводит к неправильной сортировке. Как я могу отсортировать это правильно? Я использую sqlite для Android.

Ответы [ 2 ]

1 голос
/ 14 января 2012

Вместо того, чтобы хранить дату как 2:35, вы можете иметь столбец хранения секунд, и, следовательно, будет 155 (2 минуты, 35 секунд = 155 секунд). Таким образом, это было бы хорошо. Вы можете перевести секунды в минуты / секунды в коде.

Или, если хотите, у вас может быть два столбца, минуты и секунды.

Нет смысла хранить время в формате, подобном 2:35, если вы манипулируете данными.

0 голосов
/ 09 августа 2016

Лучший способ - сохранить время, начиная с эпохи, которое составляет миллисекунды с 01.01.1970, и затем вы можете сортировать его по своему усмотрению.Такая экономия времени позволяет забыть о многих проблемах, требующих усилий.

Вот пример .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...