2017-04-13 8 views
0

"日付"フィールドに文字列形式のデータが格納されています。特定の年が指定された結果を表示するテーブルを照会したい年。文字列形式の日付に特定の年があるクエリ結果

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; 
} 

それは単純に任意のデータを返すdoesntの:

私の問題は、私が現在持っているものの文字列から年を取得する方法です。

+0

[documentation](http://stackoverflow.com/documentation/sqlite/5252/data-types/18688/date-time-types)を参照してください。 –

答えて

-1

私はあなたの質問に従いますが、私は、あなたが主要な機能の一部としてデータをフィルタリングする必要がある場合は、レジスタを記録する年のフィールドを追加することをお勧めします。 完了すると、検索はより迅速かつ直接的になります。 お手伝いをしてください。

関連する問題