0
我希望在滿足一個案例的情況下對行進行更多條件的評估。如何使用Sqlite CASE WHEN添加更多條件?
這就是我想出了:
SELECT ... FROM ...
WHERE Events.CALENDAR_ID + "=?
AND case when " + Events.DTEND + ">0
then " + Events.DTSTART + ">? end";
不過,這一說法忽略不符合的情況下排。
SELECT ... FROM ...
WHERE Events.CALENDAR_ID + "=?
case when " + Events.DTEND + ">0
then AND " + Events.DTSTART + ">? end";
然後我想出了這個,但Sqlite告訴我,這只是壞的語法。
什麼是正確的語法?
這在語法上是正確的,但可能計算錯誤的值。你的表達的*含義是什麼? – 2013-03-05 15:39:26
我想用額外的WHERE子句「Events.DTSTART>?」來評估該行。如果它滿足CASE「Events.DTEND> 0」。我的聲明是否意味着? – 2013-03-05 20:36:04
是的,你的陳述是正確的(如果非常不尋常)。更簡單的是...... WHERE calendar_id =? AND(dtend <= 0或dtstart>?)'。 – 2013-03-05 21:14:47