下面是我的代码:
表创建:
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);
}
检索 1 周数据的查询:
private Cursor getAllCurrentData()
{
String[] selectArg = new String[]{};
return db.query(Db_Contract.Db_Fieds.TABLE_NAME,
null ,
Db_Contract.Db_Fieds.DATE+ "= date('now', 'weekday 0', '-7 days')",
selectArg,
null,
null,
Db_Contract.Db_Fieds.TIMESTAMP);
}
问题是我无法使用上述查询检索 1 周。请告诉我我在做什么错误。
提前致谢
最佳答案
Db_Contract.Db_Fieds.DATE+ "= date('now', 'weekday 0', '-7 days')",
检索 DATE
等于 date()
表达式的行。但似乎您想要 DATE
大于或等于表达式的所有行。尝试:
Db_Contract.Db_Fieds.DATE+ ">= date('now', 'weekday 0', '-7 days')",
注意 >=
运算符与 =
运算符。
关于android - 如何在 Android 中从周日开始从 Sq-lite 检索仅 1 周的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50407588/