如何在SQLite中测试早于当前日期的日期

Joe*_*try 0 java database sqlite loops resultset

我正在使用SQLite存储一些数据,我知道日期对象不能存储在SQLite数据库中,所以我使用的是字符串.

我的问题是我想检查表的最早日期.因此,如果有2张卡片是01/04/2013和04/05/2013,我想知道01/04/2013是更早的日期并返回该行.

到目前为止,我已经提出了两个解决方案:

对DB的多个查询

我已经能够实现一个成功的解决方案,它将遍历数据库并将日期对象减少1,然后将其用作匹配日期的字符串.问题是在找到最早的日期之前可能需要查询数据库100次.这样做是不好的做法?

通过结果集迭代

另一种可能性是迭代表中所有抽认卡的结果集.但是,这将涉及2个循环,一个循环遍历表中的每一行,这将在一个将日期减少1的循环内.

我觉得这两个都不是很好的解决方案.我想知道是否有人可以帮助我以更有效的方式实现这一目标?

Bil*_*ard 5

如果您的日期存储YYYY-MM-DD格式,你可以使用<,>BETWEEN你一样会与实际日期数据类型.使用YYYY-MM-DD日期格式,词典顺序与时间顺序相同.

另一个好处是YYYY-MM-DD日期格式与SQLite日期和时间函数兼容.