Hallo Schüppi,
ein logischer Ausdruck wird nicht sequentiell ausgewertet. Der SQL Server betrachtet zunächst die verketteten Ausdrücke und prüft, ob hier ein Ergenis herauskommt, das auch logisch Verknüpfbar ist.
Es werden also zunächst die Unterausdrücke ausgewertet.
Das kann man nachvollziehen, wenn man z.B. eine Division durch 0 in einer UNterberechnung durchführt. Dann gibt der SQL Server eine Fehlermeldung aus, auch wenn diese Rechnung in der x+1. Stelle der Logik-Verknüpfung steht.
Beispiel: CASE WHEN Wert1>15 Or Wert1 / Wert2 > 3 THEN ...
Funktioniert, wenn Wert2<>0 ist. Bei Wert2=0 wird eine Fehlermeldung ausgegeben.
Fazit: ein Logischer Ausdruck wird immer im Gesamten ausgewertet, aber nicht der Reihenfolge nach.
Viele Grüße,
Tommi