車両が最後に燃料を補給された日時を記録したテーブルを含むデータベースがあります。整数型の日付列があります。
どちらが最後の燃料補給日であったかを判断できる必要があります。使ってます:
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_CLAUSE
でMAX(date_time)
、date_time
は問題の列の名前です。
これは、テーブルにエントリがある場合は正常に機能しますが、単体テストを記述しているときに、テーブルにエントリがない場合はカーソルの行数がゼロになると予想しましたが、代わりに値がゼロの単一行を取得します。date_time
つまり、実際には値がないのに、列の最大値はゼロです。
私はこれを回避してコーディングできてうれしいですが(0
の代わりにレコードがないことを示すために使用-1
)、これが予期される動作であるかどうか、または何か間違ったことをしているのかどうかを知りたいです。