例如:
SELECT *
FROM Table t
WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key)
Run Code Online (Sandbox Code Playgroud)
如果@key IS NULL的计算结果为true,那么@key IS是否为NULL并且@key = t.Key是否已计算?
如果不是,为什么不呢?
如果是,是否有保证?它是ANSI SQL的一部分还是特定于数据库?
如果是数据库特定的,SqlServer?甲骨文?MySQL的?
参考:短路评估