日期:2014-05-17  浏览次数:20434 次

关于case when 后面的条件怎么写?100分送上
环境:C#+SQL2005
我有个字段P3,类型:Char(2),值是字母ABCDEF中的任意1-2个组合
现在我想分别统计字母ABCDEF出现的个数,这样的select语句应该怎么写?
string strSQL2 = "select count(*) as 总数,sum(case P3 when  P3 like '%C%' then 1 else 0 end)as C  from dc_vote";
我这样写了,但报错:关键字 'like' 附近有语法错误。

应该怎么样写?

------解决方案--------------------
sum(case when  P3 like '%C%' then 1 else 0 end)
------解决方案--------------------
string strSQL2 = "select count(*) as 总数
,sum(case when P3 like '%C%' then 1 else 0 end)as C  from dc_vote";

string strSQL2 = "select count(*) as 总数
,sum(case when charindex('C',P3)>0 then 1 else 0 end)as C  from dc_vote";