Выбор диапазона дат из базы данных sqlite - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь выбрать несколько учетных записей в зависимости от времени обновления ..

Моя таблица называется учетной записью и имеет такие столбцы, как createdOn , updatedOn, acountName и т. Д.

Теперь дата сохраняется в виде строки 2012-03-20

Как сделать SQL-запрос для выбора учетных записей различий в зависимости от даты.

Вот мой код

 public ArrayList<Account> getAllAccountsForReports(Date dateTo, Date dateFrom)
  {
      ArrayList<Account> accounts = new ArrayList<Account>();
      String queryString = "SELECT * FROM MAAccounts WHERE updatedOn = ? BETWEEN updatedOn = ? ORDER BY accountType, accountName";
      Cursor result =  mDb.rawQuery(queryString, new String[]{ dateToDB(dateTo), dateToDB(dateFrom)}); 

Скажите, пожалуйста, как я могу исправить свой sql-запрос?

С наилучшими пожеланиями

1 Ответ

1 голос
/ 20 марта 2012

Ваш BETWEEN синтаксис выключен, вероятно, вы хотите;

SELECT * FROM MAAccounts 
WHERE updatedOn 
  BETWEEN ? AND ?
ORDER BY accountType, accountName

Так как вы сохраняете с помощью 'yyyy-MM-dd', между ними должно работать хорошо, используя строку.

Я не был уверен, какое имя таблицы использовать, так как вы сказали, что оно называется account в вопросе и MAAccounts в коде, а в вопросе неправильно заданы столбцы, поэтому, конечно, вам нужно адаптировать это к вашим реальным именам столбцов.

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