case when 语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了case when 语句相关的知识,希望对你有一定的参考价值。


CASE用法



CASE 

          

 WHEN condition1 THEN returnvalue1 

         

  WHEN condition 2 THEN returnvalue2 

        

   WHEN condition 3 THEN returnvalue3 

         

  ELSE defaultreturnvalue 

END 


相当于if…else…else….


SELECT  FName, FWeight, 


(CASE 

    

      WHEN FWeight<40 THEN ‘瘦瘦‘  

   

       WHEN FWeight>50 THEN ‘肥肥‘  

     

     ELSE ‘ok‘  

        

  END) 

as isnormal 

FROM T_Person



create table bs

(

bsname char(20),

bsflag char(20),

bstime datetime

)


insert bs values(‘火箭‘,‘胜‘,‘2008-01-10‘)

insert bs values(‘火箭‘,‘负‘,‘2008-01-11‘)

insert bs values(‘火箭‘,‘胜‘,‘2008-01-10‘)

insert bs values(‘公牛‘,‘负‘,‘2008-01-10‘)

insert bs values(‘公牛‘,‘胜‘,‘2008-01-11‘)

insert bs values(‘公牛‘,‘负‘,‘2008-01-10‘)

select * from bs

select bsname,胜=sum(case when bsflag= ‘胜‘ then 1 else 0 end),

负=sum(case when bsflag=‘负‘ then 1 else 0 end)

 from bs group by bsname


以上是关于case when 语句的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句中case,when,then的用法

sql 的case when 语句

SQL语句case when

语句后忽略When子句的Oracle复合触发器

sql2005中的case when语句怎么用啊?请写出一个常见的例子

SQL Server CASE .. WHEN .. IN 语句