8133: Kein Ergebnisausdruck in einer CASE-Angabe kann NULL sein.
Fehlermeldung:
Meldung 8133, Ebene 16, Status 1, Zeile 2
Kein Ergebnisausdruck in einer CASE-Angabe kann NULL sein.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn ein Ergebnisausdruck in einem CASE Ausdruck NULL ist.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Kein Ergebnisausdruck in einer CASE-Angabe kann NULL sein. Die Ausdrücke müssen von NULL verschieden sein.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..#t') > 0
DROP TABLE #t
GO
CREATE TABLE #t
(
id INT NOT NULL IDENTITY
)
GO
INSERT INTO #t DEFAULT VALUES;
SELECT CASE WHEN NULL IS NULL THEN NULL ELSE NULL END
FROM #t
Anmerkungen:
Im obigen Beispiel wird versucht, beim CASE Ausdruck den THEN und den ELSE Zweig gleich NULL zu setzen. Dies löst den Fehler aus.