Android 比较sqlite字符串
我有个问题,我不知道是什么引起的。我有一个运行android的SQLite3DB。该应用程序将一些日期值作为文本放置在列中。现在我想从这个月得到所有的参赛作品。所以通常我会这样做: 选择*表格myTable,其中日期>'2011-10-01' 但是,我的结果集包含所有条目。日期冒号的格式是相同的-因此没有问题。我只是不知道,是什么导致了这种奇怪的输出Android 比较sqlite字符串,android,date,sqlite,comparison,Android,Date,Sqlite,Comparison,我有个问题,我不知道是什么引起的。我有一个运行android的SQLite3DB。该应用程序将一些日期值作为文本放置在列中。现在我想从这个月得到所有的参赛作品。所以通常我会这样做: 选择*表格myTable,其中日期>'2011-10-01' 但是,我的结果集包含所有条目。日期冒号的格式是相同的-因此没有问题。我只是不知道,是什么导致了这种奇怪的输出 非常感谢您的帮助。嗯,如果您将其更改为: SELECT * FROM myTable WHERE date like '2011-10-01%'
非常感谢您的帮助。嗯,如果您将其更改为:
SELECT * FROM myTable WHERE date like '2011-10-01%'
我已经测试了你的问题,结果表明它实际上应该像你尝试的那样工作。 至少在正常安装sqlite3的情况下:
sqlite> select * from myTable;
2011-09-01
2011-08-01
2011-11-01
2011-10-02
sqlite> select * from myTable where date > "2011-10-01";
2011-11-01
2011-10-02
因此,我猜想您的数据库格式有问题,或者您的查询与您发布的查询不一样。除了形式之外,我猜是打字错误。b这实际上是我所做工作的精确副本。不幸的是,我使用了Sqlite nad的android实现,它似乎和“-”有问题,因为在我删除它们之后,它工作正常。然而,我不明白为什么它和“-”有这么多问题。我仍然希望使用旧的日期格式,否则我必须重写一些我不喜欢的代码。然后我得到一个空的结果集-我的第一个条目是10月4日。。。谢谢你的建议,但是没有用,对不起。这在我所有的Android应用程序中都有效。您的数据库和/或其内容有问题。感谢您的提示-它在没有虚线的情况下工作-但不适用于虚线。这太奇怪了,我真的很困扰,到底是什么问题。当然,我可以不用虚线,重写一些代码,但我想知道根本的问题是什么。请显示myTable的create语句,该元组行/列的一个结果,真正的select语句形式是无效的关键字。明确地说,您正在使用Android设备/仿真器什么SDK版本?什么目标?使用Eclipse/Java?