从sqlite中检索数据

时间:2013-01-02 09:57:53

标签: android

我想要实现的是从SQLite数据库中检索记录,这些记录在当前日期之前3天和当前日期之后3天(包括当前日期)。

如何做到这一点,请提供一些示例来试用。

2 个答案:

答案 0 :(得分:1)

首先,存储日期的列应该是long类型。此列将存储该日期的纪元的毫秒数。

现在查询

    Calendar calendar = Calendar.getInstance(); // This will give you the current time.
    // Removing the timestamp from current time to point to todays date
    calendar.set(Calendar.HOUR_OF_DAY, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MILLISECOND, 0);
    calendar.add(Calendar.DATE, -3); // Will subtract 3 days from today.
    Date beforeThreeDays = calendar.getTime();
    calendar.add(Calendar.DATE, 6); // Will be your 3 days after today
    Date afterThreeDays = calendar.getTime();

    db.query("Table", null, "YOUR_DATE_COLUMN >= ? AND YOUR_DATE_COLUMN <= ?", new String[] { beforeThreeDays.getTime() + "", afterThreeDays.getTime() + "" }, null, null, null);

答案 1 :(得分:0)

Select *
From TABLE_NAME
WHERE  DATEDIFF(day, GETDATE(), COLUMN_TABLE) <= 3