空(nullではありません!)次のようにSQLステートメントを作成したい:
SELECT * FROM table WHERE date BETWEEN ? AND ? ORDER BY date ASC LIMIT 1
私はこれとしてデータベースにSQLを持っています^
Cursor cursor = context.getContentResolver().query(
URI,
new String[] { col_id, col_2,DATE },
DATE + " BETWEEN ? AND ?" ,
new String[] {dateAsString, stopDate)} ,
DATE + " ASC LIMIT 1");
cursor = database.query(
table, projection,
selection, selectionArgs,
null, null, sortOrder);
SQL はカーソルによって渡されますが null です。データベースをSDカードにコピーし、SQLiteManager
プラグインを介してFF -0に表示します。すべてのデータが存在し、上記のステートメントがコンソールで機能するため、SQLステートメントに何かが詰まっています。
それが間違っていることを教えてもらえますか?
UPDATE拡張質問
次のように保存された日付列を持つデータをいくつか保存します。
- 2012-11-30 09:12:29.392 パターン yyyy-MM-dd HH:mm:sS
- これを long に変換し、テーブルの TEXT タイプの列に保存します
- だから私はそのようなものを得ました 1354197364633
2つの値の間のデータベースの日付の行を取得したい:
database.rawQuery("SELECT * FROM Track WHERE Date BETWEEN ? AND ?", selectionArgs);
しかし、私はそれに成功しませんでした。これで、どのデータベースでも機能しないことがわかりましたが、解決策はありません。私の問題を解決する方法を教えていただけますか?
以下の解決策を使用しようとします。したがって、カーソルで次のクエリを取得します。
SQLiteQuery: SELECT * FROM Track WHERE Date BETWEEN CAST(? AS INT) AND CAST(? AS INT)
mBindArgs で次のパラメーターを使用します。
{1=1354248261841, 2=1354262663195}
トラックの日付値を確認すると、それらの間に配置されますが、カーソルはまだ空のままです。