android - 如何在 Android 中从周日开始从 Sq-lite 检索仅 1 周的数据?

标签 android sql sqlite android-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);
    }

检索 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/

相关文章:

android - 接收事件,如果文件已下载/添加到下载文件夹

sql - 插入语句中带有jQuery的sqlcmd

mysql - 数据库设计确保一对一关系

javascript - 服务器不断得到旧结果

android - Discord bot 在 ios 与 android 和桌面上的功能不同

android - 无法运行 python-bluez RFCOMM 服务器示例脚本

安卓 : Listener for incoming UDP messages?

c# - sql语法错误,以及与sql语法相关的字符串问题

asp.net - 亚音速中等信任级别

php - 如何关闭使用 OOP 方法打开的 SQLite 数据库?