Android Sqlite查询语法错误-(Sqlite中的Campare DateTime)
我有一个用于搜索的sqlite查询,如下所示:Android Sqlite查询语法错误-(Sqlite中的Campare DateTime),android,sqlite,Android,Sqlite,我有一个用于搜索的sqlite查询,如下所示: c = db.rawQuery("SELECT Task.* FROM Task where Task.CreationDate >= '" + strStartDate + "' ORDER BY Task._id ASC", null); 但我有一个错误: SQLiteLog4733:1近>:语法错误 有什么问题?我必须如何编写此查询? CreationDate的类型是文本,strStartDate类似于“2012-04-05”取决于
c = db.rawQuery("SELECT Task.* FROM Task where Task.CreationDate >= '" + strStartDate + "' ORDER BY Task._id ASC", null);
但我有一个错误:
SQLiteLog4733:1近>:语法错误
有什么问题?我必须如何编写此查询?
CreationDate的类型是文本,strStartDate类似于“2012-04-05”取决于Task.CreationDate的内容和变量strStartDate。
具有与YYYY-MM-DD相同格式的值?我使用此方法解决我的问题:
c = db.rawQuery("SELECT Task.* FROM Task where
strftime('%s',Task.CreationDate) >= strftime('%s','" + strStartDate + "00:00:00 ') ORDER BY Task._id ASC", null);
在这篇文章中尝试CreationDate的完整异常消息类型是TEXT,strStartDate类似于'2012-04-05'。CreationDate中的存储值也类似于'2012-04-05'。是的,它们的格式相同,实际上是DateTime,但作为字符串和文本。我只是尝试一下,sqlite接受与'>='的字符串比较。我在sqlite db上尝试了一个包含日期字段的文本字段,它可以工作。你能把有效的查询发送到数据库吗?