如果我对表有约束,
(field1 is null and field2 is not null and dbo.expensivefunction(field2) = field3)
如果我的field2为null,那么函数是否会被调用?
在sql server 2005的约束中,“和”是否与.Net中的(和,&&)相同?
答案 0 :(得分:1)
SQL Server执行短路操作,但操作的顺序取决于优化器,因此答案可能就是。见blog entry。在实践中,我已经使用了诸如你之类的语句而没有问题 - 可能是因为优化器首先使用更简单的检查,尽管没有保证。