T-SQL的一个简单的程序,求高手解答,下面是代码

2025-05-06 11:38:14
推荐回答(1个)
回答1:

declare @n int
set @n=1
while(@n in(select a from test))
begin
update test set b=case  when b<60 and a=@n then b+4 
                  when b>=60 and b<70 and a=@n then b+3 
                  when b>=70 and b<80 and a=@n then b+2 
                  when b>=80 and b<90 and a=@n then b+1 
                  else b end
select b from test where a=@n 
set @n=@n+1
end

但你那个b设置的是float类型,所以显示的有误差,自己看看吧,或者改成numeric(19,1)这样的类型