我正在尝试从 SQLite 数据库中恢复一些日期小于今天的数据。我从日历中得到了这一天,它没有给出预期的结果:
Calendar cal = Calendar.getInstance();
int dayofmonth = cal.get(Calendar.DAY_OF_MONTH);
String sql = "SELECT SUM(filed1) FROM Table1 WHERE "+Table1.DATE+"<= '%"+dayofmonth+"'";
最佳答案
由于您的数据格式为 YYYY-MM-DD
,即日期组件按从最重要到最不重要的顺序排列并以零填充,您可以在此处使用常规字符串比较。
首先创建一个代表今天的相同格式的字符串,例如
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String today = sdf.format(new Date());
然后在您的 SQL 中使用该字符串,例如
String sql = ... " WHERE " + Table1.DATE + " < ?";
String[] bindArgs = new String[] { today };
Cursor c = db.rawQuery(sql, bindArgs);
关于java - Android SQLite 查询某月某天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22975225/