2017-03-02 11 views
0

ValidFromValidTo という日付の列を持つ表があります。その日の範囲で有効なデータがあります。 ValidFromとValidToの間の日付のチェックを送信するために、現在の日付が自分の日付である場合。 どのようにして、各行を調べなくても、2列の日付の条件を満たすデータの行を取得できますか。2つの日付の間にある行が必要です

+0

あなたはWHERE ... SELECTを試してみまし作りますか? – Serg

+0

SELECT * FROM TableName ここで '2017-03-01'> = '2017-01-11'(ValidFrom値) AND '2017-03-01' <= '2017-04-28'(ValidTo値)しかし、これは一度に1行しか与えないので、各レコードを調べるためにforループを追加する必要があります。私は行全体のリストをチェックするために単一のクエリが必要です – Yatin

答えて

2

だけrawQuery

Cursor cursor = db.rawQuery("SELECT * FROM table WHERE ValidFrom < %yourDate% AND ValidTO < %yourDate%;", null); 

cursor.moveToFirst(); 
while (!cursor.isAfterLast()) { 
     //get here values you need from raw 
      cursor.moveToNext(); 
} 
+0

どのように複数の行、単一のクエリを持つことができます。 forループを使うべきですか? – Yatin

+0

@Yatinあなたはこの表現の**すべての**行を持っています – DEADMC

+2

@DEADMC < >を有効にして日付を有効にし、有効期限が – MarkD

関連する問題