我只想从SQLite中检索一个月的数据。意味着我想从月初到现在检索数据。如果新月被盯上,它应该只显示该月的数据。
这是我的代码:
public void onCreate(SQLiteDatabase sqLiteDatabase) {
final String query = "CREATE TABLE " + Db_Contract.Db_Fieds.TABLE_NAME + " ("
+ Db_Contract.Db_Fieds._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ Db_Contract.Db_Fieds.MONEY + " REAL NOT NULL,"
+ Db_Contract.Db_Fieds.CAT + " TEXT NOT NULL,"
+ Db_Contract.Db_Fieds.DATE + " TIMESTAMP DEFAULT CURRENT_DATE,"
+ Db_Contract.Db_Fieds.TIMESTAMP + " TIMESTAMP DEFAULT CURRENT_TIMESTAMP" + "); ";
sqLiteDatabase.execSQL(query);
}
查询:
private Cursor getAllCurrentData()
{
String[] selectArg = new String[]{};
return db.query(Db_Contract.Db_Fieds.TABLE_NAME,
null ,
Db_Contract.Db_Fieds.DATE+ ">= strftime('%d','now');",
selectArg,
null,
null,
Db_Contract.Db_Fieds.TIMESTAMP);
}
这是我检索一个月数据的查询。它的问题是它也检索上个月的数据。 我该如何解决这个问题? 提前致谢
答案 0 :(得分:0)
您需要在查询中添加2个条件。对于前。
Db_Contract.Db_Fieds.DATE+ "<= strftime('%Y-%m-%d','now') and Db_Contract.Db_Fieds.DATE+ ">= strftime('%Y-%m-%d', 'now', 'start of month');"