1
8
我刚刚看了一篇链接文章,可以确认COALESCE和ISNULL的短路都可能失败。
例如
合并是根据
ANSI standard
. 这只是一个案例陈述的简写。ISNULL不是ANSI标准的一部分。第6.9节似乎没有明确要求短路,但它确实意味着
下面是一些对基于标量的函数有效的证明(我在 SQL Server 2005 ):
这里有一些证据表明,使用CASE的底层实现将执行子查询。
|
2
3
这个 有效率的 对于successwhen子句,不评估其他子句。
|
3
1
我也惊讶地发现这个答案是有效的!我不确定这种行为是否有保证。(但我没有找到一个不起作用的例子!) 五年 SQL ,我还是很惊讶。 我还做了一个改变:
我得到的结果是:
|
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 1 年前 |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
Java · 使用交叉应用同时显示两列 2 年前 |