34,838
社区成员




--用case写法即可,上面已给出正确答案,如果非要函数,
create function wsp(@fs int)
returns varchar(50)
as
begin
declare @sql varchar(50)
if(@fs>60)
set @sql='及格'
else
set @sql='不及格'
return @sql
end
create table tb(name varchar(10) , score int)
insert into tb values('aa' , 60)
insert into tb values('bb' , 50)
go
select name , score , 情况 = case when score >= 60 then '及格' else '不及格' end from tb
drop table tb
/*
name score 情况
---------- ----------- ------
aa 60 及格
bb 50 不及格
(所影响的行数为 2 行)
*/
select name , 情况 = case when 分数 >= 60 then '及格' else '不及格' end from tb