34,872
社区成员
 发帖
 与我相关
 我的任务
 分享
--用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