对于任何检查约束,如果BOOLEAN_EXPRESSION返回true,则CHECK约束允许该值,否则不允许该值。对于可为空的列,可以在插入行时为此列传递null。当您为AGE列传递NULL时,布尔表达式的计算结果为UNKNOWN并允许该值。但是,如果我传递null,则在非可为空的列的情况下会发生什么?
答案 0 :(得分:0)
对于任何检查约束,如果BOOLEAN_EXPRESSION返回true,则CHECK约束允许该值,否则不允许。
这是不正确的。仅当布尔表达式的值为FALSE时,检查约束才返回检查验证错误。 <input #myInputIn type="text" class="col-7" id="someid" placeholder="Type to search.." />
不会产生错误。
这与NULL
和WHERE
子句的行为不同。
如果该列不可为空,则将违反not-CASE WHEN
约束。我认为这是在NULL
约束之前检查的,但是顺序并不重要。您将得到可空性错误。