SQL Server / T-SQL:CHOOSE是评估所有结果,还是只返回返回的结果?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server / T-SQL:CHOOSE是评估所有结果,还是只返回返回的结果?相关的知识,希望对你有一定的参考价值。

CHOOSE语句是否会导致服务器评估所有可能的结果? 或者服务器只评估选择的结果?

我的情况是我有十几个可能的结果列表,基于整数值1到12 - 但结果是非常长的数学过程,我不希望服务器浪费时间评估所有12个他们只是选择一个结果返回。

例如 :

CHOOSE ( 2 , LongOperation1 ( ) , LongOperation2 ( ) , LongOperation3 ( ) , etc...
答案

它似乎不会执行所有计算。下面的两个示例都包含一个1/0选项,但下面只有一个语句在除以零错误时会出错:

select CHOOSE(2, 1, 1+4, 1/0)

VS

select CHOOSE(2, 1, 1/0, 1+4)

以上是关于SQL Server / T-SQL:CHOOSE是评估所有结果,还是只返回返回的结果?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server Compact Edition 和真正的 SQL Server 之间的 T-SQL 区别?

SQL Server 之T-SQL语言的学习

SQL Server / T-SQL:查询优化帮助

SQL Server 2005 T-SQL中的Base64编码

sql server SQL 调试:无法启动 T-SQL 调试。未能附加到 SQL Server 进程

SQL Server 之T-SQL基本语句