Функции базы данных комнат WEEK (), MONTH () и т. Д. - PullRequest
2 голосов
/ 21 марта 2019

У меня есть база данных комнат с таблицей «Записи», где у меня есть столбцы value(int), cat_id(int) и date(Date).

Я хочу получить сумму всех записей текущего месяца и всех записей текущей недели. Но на выбор:

@Query("SELECT sum(value) FROM Entry WHERE cat_id = :cat_id AND WEEK(date, 5) = WEEK(:date, 5) AND YEAR(date) == YEAR(:date)")
float getValueThisWeekByCatId(int cat_id, Date date);

@Query("SELECT sum(value) FROM Entry WHERE cat_id = :cat_id AND MONTH(date) = MONTH(:date) AND YEAR(date) == YEAR(:date)")
float getValueThisMonthByCatId(int cat_id, Date date);

не работает.

Это ошибка:

Проблема с запросом: [SQLITE_ERROR] Ошибка SQL или отсутствует база данных (такой функции нет: WEEK) float getValueThisWeekByCatId (int cat_id, Date date); То же с функцией МЕСЯЦ

Есть ли другой способ выбора?

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