Da CASE-Ausdrücke einen Wert zurückgeben müssen und Check Constraints boolesch sind, müssen Sie das Ergebnis mit etwas vergleichen, z. B.:
CONSTRAINT ck_1 CHECK (CASE WHEN col2 IS NOT NULL THEN 1 ELSE 0 END = col1);
Da CASE-Ausdrücke einen Wert zurückgeben müssen und Check Constraints boolesch sind, müssen Sie das Ergebnis mit etwas vergleichen, z. B.:
CONSTRAINT ck_1 CHECK (CASE WHEN col2 IS NOT NULL THEN 1 ELSE 0 END = col1);