日期:2014-05-17  浏览次数:20463 次

MSSQL中CASE的用法问题
如,case val when='val' then value1 else value2 end-1
在上面的语句中end后面的是不是总是会执行?

------解决方案--------------------
end是case when里面必须的语法,是告诉编译器你的case when判断已经完成了,-1只是类似于select a-1这样的意思,是case when出来的结果集再减一而已。
------解决方案--------------------
你可以认为case when 是获取一个值 只是某个表达式的一部分

------解决方案--------------------
SQL code

(case val when='val' then value1 else value2 end)-1

------解决方案--------------------
楼主的理解是对的
------解决方案--------------------
楼主你是正确的,你看到的代码是坏孩子写的