0

当一个案例得到满足时,我希望用更多的条件来评估一行。

这是我想出的:

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 告诉我这只是糟糕的语法。

什么是正确的语法?

4

1 回答 1

0

正确的语法是:

SELECT ... FROM ...
WHERE "case when " + Events.DTEND + ">0 " +
" then " + Events.CALENDAR_ID + "=? AND " + Events.DTSTART + ">? " +
" else " + Events.CALENDAR_ID + "=? end"
于 2013-03-05T14:20:54.427 回答