Android 以字符串格式查询日期上具有特定年份的结果

Android 以字符串格式查询日期上具有特定年份的结果,android,string,sqlite,date,Android,String,Sqlite,Date,我的数据以字符串格式存储在“日期”字段中,我想查询表以显示包含指定年份的特定年份的结果 我的问题是如何从字符串中获取年份,即我当前拥有的: public Cursor getExpensesByYear () { String sql = "SELECT * FROM " + TABLE_EXPENSE + " WHERE strftime('%Y', date) = '2015'"; Cursor cursor = getReadab

我的数据以字符串格式存储在“日期”字段中,我想查询表以显示包含指定年份的特定年份的结果

我的问题是如何从字符串中获取年份,即我当前拥有的:

public Cursor getExpensesByYear () {

    String sql = "SELECT * FROM " + TABLE_EXPENSE + " WHERE strftime('%Y', date) = '2015'";

    Cursor cursor = getReadableDatabase().rawQuery(sql, null);
    // String inputString = cursor.getString(5);

    // DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
    // try {
    //    Date inputDate = dateFormat.parse(inputString);
    // } catch (ParseException e) {
    //   e.printStackTrace();
    // }

    if (cursor != null) {
        cursor.moveToFirst();
    }

    return cursor;
}

它只是不返回任何数据。

我关注您的问题,但我建议您,如果您需要将数据作为核心功能的一部分进行过滤,请添加一个字段,其中包含记录注册表的年份。 一旦完成,检索将更快、更直接。 希望有帮助。

请参阅。