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 に答える