2012-05-11 17 views
0

有効期限が>=の項目を選択しようとしました。 私は、yyyy-mm-dd形式を使用していますが、これは私のSQL文です:別の日付の前に日付を選択してください。SQLite android

String sql = "SELECT _id, item, value, finalDate FROM "+DATABASE_TABLE+" WHERE date(finalDate) >= date("+selectedDate+")";

このクエリを何も条件がなかったかのように、常に、私のデータベースに「全選択」を引き起こします。

いくつかの有用な情報:

return db.rawQuery(sql,null); 
+0

日付形式を変更するオプションはありますか? yyyymmddに言って?次に、整数として格納し、単純な大小比較を行います。 – Barak

答えて

1

私はあなたには、いくつかが欠けていると思う:

selectDateはYYYY-MM-DD形式で日付を持っている文字列である 私はこのようなクエリを実行していますクエリステートメントに単一引用符...

これを試してみてください:

String sql = "SELECT _id, item, value, finalDate FROM "+DATABASE_TABLE+" WHERE date(finalDate) >=date('"+selectedDate+"')"; 

EDIT

ああ、あなたのvar名を確認してください。クエリでselectedDateを使用していますが、後であなたの投稿に記載されていますselectDate ...

+0

あなたが言ったように引用符がありませんでした!どうもありがとう ! – user1389624

+0

素晴らしい。回答が参考になった場合は、それを受け入れてください(回答の横にあるチェックマークをクリックしてください)。あなたが本当に役に立つと感じたら、それをアップアップすることもできます(上矢印をクリックしてください)。回答を受け入れることで、問題が解決したことを人々に知らせることができます。また、あなたを助けてくれた人にも信用を与えることができます。 – Barak

関連する問題