Werden in der SQL Server- CASEAnweisung (speziell 2008 oder 2012) alle WHENBedingungen ausgewertet oder wird sie beendet, sobald eine WHENKlausel gefunden wird, die als wahr ausgewertet wird? Wenn der gesamte Bedingungssatz durchlaufen wird, bedeutet dies, dass die letzte Bedingung, die als wahr bewertet wurde, die erste Bedingung überschreibt, die als wahr bewertet wurde? Zum Beispiel:
SELECT
CASE
WHEN 1+1 = 2 THEN'YES'
WHEN 1+1 = 3 THEN 'NO'
WHEN 1+1 = 2 THEN 'NO'
END
Das Ergebnis ist "JA", obwohl die Bedingung "Letzter Zeitpunkt" "NEIN" ergeben sollte. Es scheint, dass es beendet wird, sobald es die erste WAHR-Bedingung findet. Kann jemand bitte bestätigen, ob dies der Fall ist .
COALESCE()in einenCASEAusdruck übersetzt.)