Sqlite - 检查今天是否在2个日期之间

时间:2013-04-20 11:47:27

标签: android sqlite

我有一个像这样定义的表:

db.execSQL("CREATE TABLE IF NOT EXISTS MyExercises (ID INTEGER, NAME VARCHAR, DESCRIPTION VARCHAR, VIDEONAME VARCHAR, IMAGENAME VARCHAR, VALIDFROM SMALLDATETIME, VALIDTO SMALLDATETIME, NUMOFREPS INTEGER, PRIMARY KEY(ID, VALIDFROM, VALIDTO));");

我想检查今天是否介于VALIDFROM和VALIDTO之间。

当我将数据插入表格时,日期看起来像这样:4/7/2013 12:00:00 AM,4/27/2013 12:00:00 AM

INSERT INTO MyExercises VALUES (1,'blalbla','blabla', 'ex1.3gp', 'ex1.jpg', '4/7/2013 12:00:00 AM', '4/27/2013 12:00:00 AM' ,5)

但是这个查询:

"SELECT NAME FROM MyExercises WHERE date('now') BETWEEN VALIDFROM AND VALIDTO"

不返回任何内容,即使今天是在和之间的日期之间..

=============================================== =====================

通过将所有数据更改为YYYY-MM-DD格式来解决此问题

谢谢你们!

2 个答案:

答案 0 :(得分:0)

> 1.Insert two date(from,to)
> 2.Get all date between "from" and "to" date and store into arraylist or container //this step you may ignore also
> 3.check condition !from_Date.after(to_Date)

example

答案 1 :(得分:0)

您可以尝试使用此

db.query("MyExercises", null, TODAY + "BETWEEN ? AND ?", new String[] {
          VALIDFROM + " 00:00:00", VALIDTO+ " 23:59:59" }, null, null, null, null);

今天今天是今天的日期