SQLite 在 TEXT 数据类型之间执行



我在以 YYYY-mm-dd 的形式使用日期的 TEXT 数据类型实现我的 SQLite 数据库时犯了一个非常愚蠢的错误。

无论如何可以对日期形式的文本执行 BETWEEN 操作吗?

例如

String sql = SELECT * FROM table WHERE column_date BETWEEN ? AND ?
selectionArgs = new String[] {"2017-01-07","2017-01-01"};
database.rawQuery(sql,selectionArgs);

我在一个安卓环境中。

如果我真的需要与BETWEEN约会,我能做什么有什么建议吗?

由于您以yyyy-mm-dd格式存储日期,因此即使作为文本,它们仍应正确排序。 因此,我希望您当前的查询能够像您现在一样实际工作。

查询

SELECT * FROM table WHERE column_date BETWEEN '2017-01-01' AND '2017-01-07'

与 相同

SELECT * FROM table WHERE column_date >= '2017-01-01' AND column_date <= '2017-01-07'

最新更新