Для любого проверочного ограничения, если BOOLEAN_EXPRESSION возвращает true, тогда ограничение CHECK допускает значение, в противном случае это не так.
Это неверно. Ограничение проверки возвращает ошибку проверки проверки только тогда, когда логическое выражение оценивается как ЛОЖЬ. NULL
не генерирует ошибку.
Это поведение отличается от WHERE
и CASE WHEN
.
Если столбец не равен NULL, то у вас будет нарушение ограничения not- NULL
. Я думаю, что проверяется до ограничения CHECK
, но порядок не имеет значения. Вы получите ошибку обнуляемости.