gpt4 book ai didi

android - SQLite 选择今天和前一天的所有记录

转载 作者:IT王子 更新时间:2023-10-29 06:23:16 25 4
gpt4 key购买 nike

我的数据库中有下表:

    database.execSQL("create table " + TABLE_LOGS + " (" 
+ COLUMN_ID + " integer primary key autoincrement,"
+ COLUMN_ID_DAY_EXERCISE + " integer not null,"
+ COLUMN_REPS + " integer not null,"
+ COLUMN_WEIGHT + " real not null,"
+ COLUMN_1RM + " real not null,"
+ COLUMN_DATE + " integer not null"
+ ")");

我在 COLUMN_DATE 字段(整数)中存储了一个 unix 时间戳。

现在我有以下函数可以抓取所有记录:

public Cursor fetchCurrentLogs(long dayExerciseDataID) {
// where day = today
Cursor cursor = database.rawQuery("select " + MySQLiteHelper.COLUMN_ID + "," + MySQLiteHelper.COLUMN_REPS + ", " + MySQLiteHelper.COLUMN_WEIGHT + " " +
"from " + MySQLiteHelper.TABLE_LOGS + " " +
"where " + MySQLiteHelper.COLUMN_ID_DAY_EXERCISE + " = '" + dayExerciseDataID + "'", null);
if (cursor != null) { cursor.moveToFirst(); }
return cursor;
}

现在我想做的是让这个函数只抓取今天的记录。

然后我想创建另一个完全相同的函数,但是我希望它不是获取今天的记录,而是获取前一天的记录。之前,我的意思是最近一天的记录不是今天。所以它可能是昨天、3 天前或一个月前。

我知道在 MySQL 中你可以为当天做这样的事情:

where date_format(from_unixtime(COLUMN_DATE), '%Y-%m-%d')= date_format(now(), '%Y-%m-%d')

SQLite 的等效项是什么?

还有,谁能帮我解决一下上面提到的前一天的where子句?

非常感谢。

最佳答案

String sql = "SELECT * FROM myTable WHERE myDate >= date('now','-1 day')"; 
Cursor mycursor = db.rawQuery(sql);

编辑:

SELECT * from Table1 where myDate = (select max(myDate) from Table1 WHERE myDate < DATE('now') )

关于android - SQLite 选择今天和前一天的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14752488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com