Dado que las expresiones CASE deben devolver un valor y las restricciones de verificación son booleanas, deberá comparar el resultado con algo, por ejemplo:
CONSTRAINT ck_1 CHECK (CASE WHEN col2 IS NOT NULL THEN 1 ELSE 0 END = col1);
Dado que las expresiones CASE deben devolver un valor y las restricciones de verificación son booleanas, deberá comparar el resultado con algo, por ejemplo:
CONSTRAINT ck_1 CHECK (CASE WHEN col2 IS NOT NULL THEN 1 ELSE 0 END = col1);