Android和SQLite - 选择2个日期时间之间的所有内容



我如何从Android SQLite数据库中选择所有具有DATETIME字段的特定日期?

我创建了下面的表:

private static final String DATABASE_CREATE = "" +
            "create table " + TABLE_STATISTIC + " (" 
              + COLUMN_STATISTIC_ID + " integer primary key autoincrement, " 
              + COLUMN_STATISTIC_DATETIME + " DATETIME default current_timestamp, "
              + COLUMN_STATISTIC_SERVICED + " integer not null, "
              + COLUMN_STATISTIC_CATEGORY + " integer); ";

可以看到,它有一个DATETIME字段。我需要从一天的开始到一天的结束获取DATETIME之间的所有数据。

如何做到这一点?我不知道如何在java/android或直接在SQL语句中生成这些值。

我真的希望有人能回答这个问题。提前感谢

1。第一次以长格式在数据库中保存日期。

2。然后将这些日期与开始和结束日期进行比较,如下所示

dbDate> startTime &&dbdate & lt;endTime

其中startTime和endTime是要获取数据的范围

SQLite没有真正的日期/时间类型,而是将所有内容存储为字符串。当且仅当字符串具有YYYY-MM-DD HH:MM:SS格式时,SQLITE才接受该字符串作为日期。

current_timestamp:此函数还以上述格式获取当前日期时间。

SELECT * FROM TABLE_STATISTIC WHERE COLUMN_STATISTIC_DATETIME BETWEEN '2014-01-01 13:42:03' AND '2014-03-20 13:42:03';

如果你对between子句做更多的研究,在google上有很多可用的选项你也可以试试这个

`SELECT * FROM DOB WHERE birthdate BETWEEN #07/04/1996# AND #07/09/1996#;`

SELECT Date,dob from pb where uid=1 and Date>'2011/02/25' and Date<'2011/02/27'

,这将指导更多。

就像别人说的,省时省力。

private static final String DATABASE_CREATE = "" +
            "create table " + TABLE_STATISTIC + " (" 
              + COLUMN_STATISTIC_ID + " integer primary key autoincrement, " 
              + COLUMN_STATISTIC_DATETIME + " integer not null, "
              + COLUMN_STATISTIC_SERVICED + " integer not null, "
              + COLUMN_STATISTIC_CATEGORY + " integer); ";

然后选择

"Select * from " + TABLE_STATISTIC + " where " + COLUMN_STATISTIC_DATETIME + " > " + startTime " AND " COLUMN_STATISTIC_DATETIME + " < " + endTime + ";"

在函数中添加startTime和endTime,单位为毫秒

我认为在你的情况下最好的解决方案,如果你只想得到指定天数之间的日期是使用SQL中的日期('现在')函数。所以,我认为这将是一个更好的解决方案,在你的情况下

SELECT * FROM TABLE_STATISTIC WHERE COLUMN_STATISTIC_DATETIME BETWEEN DATE('now') and 
DATE('now','1 day')

并且,如果您想比较考虑设备的本地时间,您可以使用以下

SELECT * FROM TABLE_STATISTIC WHERE COLUMN_STATISTIC_DATETIME BETWEEN DATE('now','localtime') and DATE('now','1 day','localtime')

相关内容

  • 没有找到相关文章