android - Android 上的 SQLite MAX

标签 android sqlite max

我有一个数据库,其中有一个表格记录了车辆最后一次加油的时间。它有一个整数类型的日期列。

我需要能够确定最后一次加油日期。我正在使用:

Cursor cursor = db.query(FUEL_USE_TABLE_NAME, LAST_FUEL_UP_DATE_CLAUSE,
            REGISTRATION_NO_COLUMN + "=? ", new String[]{registrationNumber}, 
            null, null, null);

其中 LAST_FUEL_UP_DATE_CLAUSEMAX(date_time),其中 date_time 是相关列的名称。

当表中有条目时,这工作正常,但在编写单元测试时,当表中没有条目时,我希望游标的行数为零,但我得到的是值为零的一行。 IE。 date_time 列中的最大值为零,而实际上没有任何值。

我很乐意围绕这个进行编码(使用 0 表示没有记录而不是 -1),但我想知道这是否是预期的行为,或者我是不是做错了什么。

最佳答案

这似乎是预期的行为。

参见 SQLite 文档 here

具体说:

max(X)

The max() aggregate function returns the maximum value of all values in the group. The maximum value is the value that would be returned last in an ORDER BY on the same column. Aggregate max() returns NULL if and only if there are no non-NULL values in the group.

关于android - Android 上的 SQLite MAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11137899/

相关文章:

android - 应用程序如何检测状态栏颜色(Android 5.0 Lollipop)?

Android浏览器文件上传默认只允许视频文件

java - 无法启动接收器,java空指针异常

node.js - 查询 "AND"Sqlite 3 REST

sqlite - 如何在 SQLite 中获取行号?

java - 您如何正确关闭 JDBC 连接以供重用?

ios - Sqlite3 查询在 iOS 8.2 下变得非常慢

php - Mysql查询查找2列的最小值和最大值,其中1列的最小值不能等于零

python - 选择指定位置具有最高整数值的子列表

sql - 从表 SQL 中查找 Maximum(table.column1,table.column2,table.column3,...) 为 'MaximumValue'