Étant donné que les expressions CASE doivent renvoyer une valeur et que les contraintes de vérification sont booléennes, vous devrez comparer le résultat avec quelque chose, par exemple :
CONSTRAINT ck_1 CHECK (CASE WHEN col2 IS NOT NULL THEN 1 ELSE 0 END = col1);