2

2つの日時列の間で行を照会する方法は?

私の例のテーブル:

 message     |      startdatetime           |      enddatetime
--------------------------------------------------------------------------------
Hi           |   2013-04-09 10:00:00       |    2013-04-09 10:30:00

Good morning |   2013-04-09 10:40:00       |    2013-04-09 10:50:00

私のクエリ:

fromDateTime="2013-04-09 10:00:00"; toDateTime="2013-04-09 10:50:00";

c1 = myDB.rawQuery("select * from masterdatatable where number=? and startdatetime >= datetime(?) and enddatetime <= datetime(?) order by enddatetime, new String[]{imei,fromDateTime,toDateTime});

ここで、このクエリを渡すとfromDateTime="2013-04-09 10:00:00 " and toDateTime="2013-04-09 10:50:00 "、上記の 2 つのレコードが正しく返されます。

しかし、私が合格した場合fromDateTime="2013-04-09 10:05:00 "; toDateTime="2013-04-09 10:20:00 "、このクエリは空のカーソルを返します。実際、このクエリは最初の行を返すと思います。これを達成する方法は?

4

3 に答える 3

0

あなたの条件のために最初の行を返しません..最初の行のendTimeはそうではありません

 2013-04-09 10:30:00 doesn't 

より小さい

 toDateTime="2013-04-09 10:20:00

そのため、最初の行を取得していません..

更新: それでも最初の行を返したい場合は、startDate が指定された入力の間にあるかどうかを確認する新しいクエリを作成できます。

于 2013-04-10T07:17:36.983 に答える