У меня есть приложение для Android с базой данных, основанной на библиотеке комнаты.
public class Entry {
public Entry(int cat_id, Date date, float value, String comment) {
this.date = date;
this.value = value;
this.cat_id = cat_id;
this.comment = comment;
}
@PrimaryKey(autoGenerate = true)
public int entry_id;
public final Date date;
public final float value;
public final int cat_id;
public final String comment;
}
В EntryDao у меня есть два оператора выбора, которые не работают:
@Query(("SELECT sum(value) FROM Entry WHERE cat_id = :catId AND strftime('%Y', date) LIKE :year"))
float getSumByCatIdAndYear(int catId, int year);
@Query(("SELECT sum(value) FROM Entry WHERE cat_id = :catId AND strftime('%Y', date) LIKE :year AND strftime('%m', date) LIKE :month"))
float getSumByCatIdAndYearAndMonth(int catId, int year, int month);
Не знаю почему, но всегда возвращает 0.0
Я думаю, что сделал что-то не так с функцией strftime, но я не уверен.