是否对 SQL WHERE 子句中的布尔表达式 < a href = “ http://en.wikipedia.org/wiki/Short-Circuit _ value”rel = “ norefrer”> short-Circuit 进行了计算 ?
例如:
SELECT *
FROM Table t
WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key)
如果 @key IS NULL
的值为 true
,是否评估 @key IS NOT NULL AND @key = t.Key
?
如果没有,为什么不呢?
如果是,是否保证? 它是 ANSI SQL 的一部分还是特定于数据库的?
如果特定于数据库,SQLServer? Oracle? MySQL?