2012-04-12 14 views
1

日付フィールドがあるテーブルでクエリを実行しようとしていて、範囲の値を照会するwhere句は次のようになります。FMDB Sqlite iPhone開発者の日付範囲のデータを照会する方法

[db executeQuery:@"select * from test where myDate BETWEEN date('now','-7 days') and date('now')"]; 

しかし、あなたがテーブルの宣言でDATETIME列を使用している場合:(

答えて

3

を動作するようには思えない、あなたはこれを行うことができます。

[db executeQuery:@"SELECT * FROM test WHERE myDate BETWEEN ? and ?", [[NSDate dateWithTimeInterval:-86400*7 sinceDate:[NSDate date]], [NSDate date]]; 

注をそのは1日の秒数で、負数は質問のような「日数前」を示します。

また、BETWEENの構文には、設定した日付の2分の1が含まれています。包括的でない一致が必要な場合はWHERE myDate > ? and myDate < ?を使用してください。

関連する問題