我需要在我的查詢的WHERE條件中實現一個CASE。 我寫了下面的代碼:如何在原始查詢中正確定義SelectArg?
QueryBuilder<Cars, String> carsQB = carsDao.queryBuilder();
carsQB.selectColumns("id");
carsQB.join(modelsDao.queryBuilder());
carsQB.where().raw("CASE WHEN future = true THEN date > ? ELSE endDate > ? END",
new SelectArg("date"), new SelectArg("endDate"));
,但我得到了以下錯誤:
E/AndroidRuntime(4599): Caused by: java.lang.IllegalArgumentException:
Either the column name or SqlType must be set on each argument
日期和結束日期都在我的數據庫日期列。
我錯過了什麼?有沒有更好的方法來完成這一點? 謝謝!
真棒感謝灰色!但現在我該如何設置2日期參數? – 2013-03-14 17:21:21
對不起,我忘了解決@MarcoMatarazzi。我編輯了我的答案。 – Gray 2013-03-14 17:24:27
我在回答@MarcoMatarazzi時有點失望。編輯。 – Gray 2013-03-14 19:21:17