Ist die SQL-WHERE-Klausel Kurzschluss ausgewertet?

Beispiel:

SELECT * 
FROM Table t 
WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key) 

Wenn @ - Taste IST NULL zu true ausgewertet wird, ist @ - Taste IST NICHT NULL UND @key = t.Schlüssel bewerten?

Wenn Nein, warum nicht?

Wenn ja, ist es garantiert? Es ist Teil des ANSI SQL-oder ist es eine bestimmte Datenbank?

Wenn eine bestimmte Datenbank, SqlServer? Oracle? MySQL?

Referenz: Short-Circuit-Evaluation

InformationsquelleAutor der Frage Greg Dean | 2009-04-25

Schreibe einen Kommentar