我试图在两个日期之间从sqlite获取数据......
我的日期值存储在sqlite 27/01/2017 15:10:42
我的获取数据的代码......
Cursor fetchallconsultations(String from,String to) {
SQLiteDatabase db = this.getReadableDatabase();
return db.rawQuery("select * from gle_consultns where consultn_create_date >= '"+from+" 00:00:00' and consultn_create_date <= '"+to+" 00:00:00'", null);
}
from和to的值是..
这== 26/01/2017
要== 01/02/2017
但是执行fetchallconsultations
函数时游标为空。我该如何解决这个问题。?
答案 0 :(得分:1)
您的日期以非标准格式存储。标准格式按顺序从左到右放置年,月,日。因此,以下查询应该为您提供预期的结果:
SELECT *
FROM gle_consultns
WHERE consultn_create_date >= '2017-01-26 00:00:00' AND
consultn_create_date <= '2017-02-01 00:00:00'
您需要清理日期数据,或者可能需要复杂的字符串提取来构建上述表单的时间戳。
答案 1 :(得分:0)
String str="SELECT * FROM tablename WHERE date BETWEEN '"+startdate+"' AND '"+enddate+"'";
cursor = db.rawQuery(str, null);
[where date format is startdate=2017-01-26 and enddate=2017-02-01]
答案 2 :(得分:-1)