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)