Android Sqlite - 选择1小时前插入的行

时间:2014-01-04 04:32:39

标签: sql sqlite android-sqlite

我在Android Sqlite上工作,我试图获取1小时前插入的行。但是它没有返回任何东西,我通过cursor.count()检查

我尝试了以下查询

String[] columns = new String[] { KEY_ID, KEY_CONTENT1, KEY_CONTENT2,
                KEY_CONTENT3, KEY_CONTENT4, KEY_CONTENT5, KEY_CONTENT6};

cursor = sqLiteDatabase.query(MYDATABASE_TABLE, columns, KEY_CONTENT3               + "< " + "DATETIME('NOW', '-1 hours')", null, null, null, null);

和另一个查询

String selectRow = "select *  FROM detail1 WHERE content3 < DATETIME('NOW', '-1 hours');";

Cursor cursor = sqLiteDatabase.execSQL(selectRow);

和另一个查询

String selectRow = "select *  FROM detail1 WHERE content3 < DATETIME('NOW', '-1 hours');";

cursor = sqLiteDatabase.rawQuery(selectRow,null);

此查询适用于我

String selectRow = "select *  FROM detail1 WHERE content3 > DATETIME('NOW', '-1 hours');";

Cursor cursor = sqLiteDatabase.execSQL(selectRow);

1 个答案:

答案 0 :(得分:0)

DATETIME('NOW', '-1 hours');" 

此功能在2014-01-04中返回时间,     并且数据库2014-01-04 10:24:21具有此格式。这里只有2014被比较而不是完整的日期。更好的approch我会建议去纪元

尝试以下查询,这将为您提供不同的秒数

SELECT (strftime('%s','now')/60) - (strftime('%s',content3)/60);