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

sca*_*and 7 sqlite select android date

我的数据库中有以下表格:

    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"
            + ")");
Run Code Online (Sandbox Code Playgroud)

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

现在我有以下功能来抓取所有记录:

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;
}
Run Code Online (Sandbox Code Playgroud)

现在我想做的是,我想让这个功能只抓住今天的记录.

然后我想再拍功能完全一样,但不是获取记录今天,我想让它变得记录前一天.以前,我的意思是最近一天有记录,而不是今天.所以它可能是昨天,或3天前,或一个月前.

我知道在MySQL中你可以在当天做类似的事情:

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

SQLite相当于什么?

另外,如上所述,任何人都可以帮助我前一天的where子句吗?

非常感谢.

Yaq*_*mad 17

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

编辑:

SELECT * from Table1 where myDate = (select max(myDate) from Table1 WHERE myDate < DATE('now') )
Run Code Online (Sandbox Code Playgroud)


CL.*_*CL. 5

请参阅日期/时间函数文档

SELECT *
FROM MyTable
WHERE myDate >= date('now', '-1 days')
  AND myDate <  date('now')
Run Code Online (Sandbox Code Playgroud)