在 SQLite 中获取 MAX 日期

Ism*_*mic 6 sqlite android

我使用 SQLite 作为我的 Android 应用程序的数据存储。我创建了一张表,其中包含日期时间类型的列。当我插入记录或选择语句时,我使用格式 dd.MM.yyyy (10.08.2012) 作为日期。

现在,我在获取具有最新/最大日期的行时遇到问题。我曾尝试使用 MAX(date_column) 语句,但它返回错误的日期。我的表中有以下日期,它返回 31.07.2012 而不是 04.08.2012。有谁知道我做错了什么?

04.08.2012
03.08.2012
02.08.2012
01.08.2012
31.07.2012
30.07.2012
Run Code Online (Sandbox Code Playgroud)

这是代码的一部分:

String selection = "measurementDate = (SELECT MAX(measurementDate) FROM Measurements)";
Cursor cursor = database.query("Measurements", allColumns, selection, null, null, null, null);
cursor.moveToFirst();
...
Run Code Online (Sandbox Code Playgroud)

小智 3

这可能是由于对存储的字符串进行比较而不是将其视为日期。

您可以以不同的方式存储字符串,YYYYMMDD,这应该正确比较它们,或者,如果您可以修改表,则将日期存储为毫秒,并在需要时格式化回字符串。

这可能有帮助