我在Android中使用数据库操作。有一个名为"RECORDS"
的表,它在我的数据库中有一列RECORD_DATE
作为DATE
数据类型。 我使用yyyy-MM-dd格式将日期数据插入到表格中。Sqlite日期列检索错误
现在我的问题是,我想只检索特定月份的记录数据。
SELECT aet.RECORD_ID , aet.RECORD_DATE , aet.RECORD_TYPE , aet.RECORD_INFO FROM
RECORDS aet WHERE strftime('%m', aet.RECORD_DATE) = '03'
其中03是从用户处获得的月份数字。
此查询返回0行,任何人都可以帮助我解决这个问题吗?
表数据图像: TABLE DATA
了Android代码:
public ArrayList<RecordsModel> getRecordsData(int selectedMonth) {
ArrayList<RecordsModel> arrayListRecordsModel = new ArrayList<>();
try {
String selectQuery = "SELECT aet.RECORD_ID , aet.RECORD_DATE , aet.RECORD_TYPE aet.RECORD_INFO FROM RECORDS aet WHERE strftime('%m', aet.RECORD_DATE) = ' "+(selectedMonth+1)+" ' ";
db = this.getWritableDatabase();
cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
model = new RecordsModel();
model.setId(cursor.getInt(0));
model.setDate(cursor.getString(1));
model.setType(cursor.getString(2));
model.setInfo(cursor.getString(3));
arrayListRecordsModel.add(model);
} while (cursor.moveToNext());
}
db.close();
} catch (Exception e) {
e.printStackTrace();
}
return arrayListRecordsModel;
}
我认为,在03月份在数据库中没有记录。 –
@TamilSelvanC:db中有20条记录。 即使我尝试从0-12中的任何其他数字获取数据我没有得到任何行或数据。 – JavaEnthusias
显示sql命令的屏幕截图'SELECT * FROM RECORDS' –