日期:2014-05-19  浏览次数:20514 次

想起最开始学计算机时候的一个技巧,替换case when 在两个字段中选会最小的办法。
maxValue=((A+B)+abs(A-B))/2
minValue=((A+B)-abs(A-B))/2

这个比maxValue=(Case   when   A> B   then   A   else   B   end   )   看起来要更计算机语言些。

------解决方案--------------------
顶!
------解决方案--------------------
2
------解决方案--------------------
3
------解决方案--------------------
4
------解决方案--------------------
顶!;)
------解决方案--------------------
--測試:

declare @A int,@B int select @A=1,@B=2

select ((@A+@B)+abs(@A-@B))/2
select ((@A+@B)-abs(@A-@B))/2
select case when @A> @B then @A else @B end

F8,查看,似乎.....
Query1: 0.00%
Query2: 33.33%
Query3: 33.33%
Query4: 33.33%


------解决方案--------------------
呵呵
------解决方案--------------------
顶!
------解决方案--------------------
学习
------解决方案--------------------
学习
------解决方案--------------------
学习
------解决方案--------------------
顶!
------解决方案--------------------
xuexi
------解决方案--------------------
up

------解决方案--------------------
哦,GOD出现了!