You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中如何从周日开始从SQLite获取一周数据?

问题: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+ "= date('now', 'weekday 0', '-7 days')", 
        selectArg, null, null, Db_Contract.Db_Fieds.TIMESTAMP); 
}

错误原因

你写的条件DATE = date('now', 'weekday 0', '-7 days')是精确匹配某一天的日期——这个表达式计算出来的是7天前的那个周日的日期,所以你的查询只会返回那一天的数据,而不是整个一周的记录。

解决方案

根据你的需求,有两种常见的调整方式:

1. 获取过去7天内的所有数据(包含今天)

把查询条件改成大于等于7天前的日期:

private Cursor getAllCurrentData() { 
    String[] selectArg = new String[]{}; 
    return db.query(Db_Contract.Db_Fieds.TABLE_NAME, null , 
        Db_Contract.Db_Fieds.DATE + " >= date('now', '-7 days')", 
        selectArg, null, null, Db_Contract.Db_Fieds.TIMESTAMP); 
}

2. 获取当前自然周的所有数据(周日到周六)

如果想获取完整的当前周数据(从本周日到本周六),用BETWEEN来限定日期范围:

private Cursor getAllCurrentData() { 
    String[] selectArg = new String[]{}; 
    return db.query(Db_Contract.Db_Fieds.TABLE_NAME, null , 
        Db_Contract.Db_Fieds.DATE + " BETWEEN date('now', 'weekday 0') AND date('now', 'weekday 6')", 
        selectArg, null, null, Db_Contract.Db_Fieds.TIMESTAMP); 
}

要是你的周历习惯是周一到周日,那可以调整日期计算:

// 周一到周日的范围
Db_Contract.Db_Fieds.DATE + " BETWEEN date('now', 'weekday 1', '-1 days') AND date('now', 'weekday 1', '+5 days')"

这样就能正确获取你想要的一周数据啦。

内容的提问来源于stack exchange,提问作者user3359125

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:26:03