В логике первого порядка это известно как импликация:
IF x THEN y
Применяя закон импликации, вышеприведенное можно преобразовать в следующее:
( NOT ( x ) ) OR y
Подставляя ваши выражения:
IF column B is equal to 12,13 or 14 THEN A cannot be null
Применение закона импликации:
( NOT ( column B is equal to 12,13 or 14 ) ) OR A cannot be null
Подстановка выражений SQL:
( NOT ( B IN (12, 13, 14) ) ) OR ( NOT ( A IS NULL ) )
Применение законов Де Моргана:
( NOT x ) OR ( NOT y ) is equivlent to NOT ( x AND y )
Следовательно:
NOT ( B IN (12, 13, 14) AND A IS NULL )
SQL DDL:
ALTER TABLE YourTable ADD
CONSTRAINT your_rule
CHECK ( NOT ( B IN (12, 13, 14) AND A IS NULL ) );