Dies ist eine einfache Frage, ich habe einige Details über die Verwendung von CASE
in WHERE
-Klausel gelesen, konnte aber nicht in der Lage, eine klare Idee, wie man es verwenden. Die unten ist meine Beispielabfrage:Oracle Fall innerhalb wo Klausel
1 SELECT * FROM dual
2 WHERE (1 =1)
3 AND (SYSDATE+1 > SYSDATE)
4 AND (30 > 40)
5 AND (25 < 35);
Ich habe ein Verfahren i_value
wie in Parametern. Ich muss die vierte Zeile ignorieren, wenn i_value 'S' ist und ich muss die fünfte Zeile ignorieren, wenn i_value 'T' ist.
Vielen Dank im Voraus.
Dies wird nicht wie erwartet funktionieren. Wenn der i_value als 'S' übergeben wird, führt die 4. Zeile in Ihrem Code zu 0 und die Bedingung schlägt fehl. Also, die ganze Ausgabe wäre keine. Hab einen tiefen Blick. – ajmalmhd04
Ups - Ich habe es aktualisiert, um das Problem zu beheben. (Vorher hatte "UND FALL WENN i_value = 'S' DANN 0 ELSE ..." habe die 0 auf 1 sowohl in der 4. als auch in der 5. Zeile geändert. –
schau nochmal nach;) – ajmalmhd04