|
1
4
让我们再举几个例子。。。
问题在于
常量折叠再次开始——这一次结果不是整数索引,但SQL Server无论如何都不允许常量。
这在最新版本的SQL Server上成功—在旧版本(如SQL Server 2008)上,您将看到
在这些错误情况下对常数折叠的抑制(
在简化阶段
|
|
2
6
不允许你使用整数
字面量
所以你不被允许
所以,我把它归结为“优化器足够聪明,可以意识到这个表达式不依赖于任何行值,因此它对所有行都是相同的值,所以我们不需要计算它”。在理智的语言中,这会产生一个警告。 |
|
3
1
SQL Server将order by表达式值转换为常量,而不是实际计算表达式。
你也可以检查一下。
|
|
|
4
1
编译 在执行阶段生成的被零除错误不会被忽略。
我将第一个查询写成:
为了
|