Ich benutze Oracle 11g und ich habe eine einfache Abfrage (Bericht) mit Parametern in meiner WHERE-Klausel, aber ich bin nicht in der Lage, die OR-Operation effizient zu verwenden.SQL - Verwenden Sie OR-Operator in Parameter
Meine WHERE-Klausel ist:
WHERE
1=1
AND
(
TRUNC(SYSDATE) - TRUNC(seg.START) BETWEEN 0 AND [DaysBeforClass]
OR
TRUNC(seg.END) - TRUNC(SYSDATE) BETWEEN 0 AND [DaysAfterClass]
)
Bitte beachten Sie, dass:
seg.START
undseg.END
sind Datum Uhrzeit Typ[DaysBeforClass]
und[DaysAfterClass]
sind die Parameter für den Endbenutzer (Textkasten)
Was ich brauche ist, dass der Benutzer beide Parameter gleichzeitig und einzeln verwendet.
Derzeit diese Klausel WHERE funktioniert gut, wenn:
- der Benutzer beide Parameter verwendet gleichzeitig
- verwendet der Benutzer nur die DaysBeforClass Parameter
Irgendwelche Ideen?
Vielen Dank für Ihre Hilfe!
Gibst du 'NULL' für Benutzer nichts eingegeben? –