sqlserver的case when语句 case语句在什么情况下可以不要when others语句?

[更新]
·
·
分类:行业
3859 阅读

case语句在什么情况下可以不要when

case语句在什么情况下可以不要when others语句?

others语句?

你将所有的情况都罗列出来就可以不写when others,但是有很多是情况是我们用不着这样做,太费时间了。而且你写上when others也能规避许多错误。

sql语句中“casewhen”怎样使用?

select b ,(case when count(b)sum(case when anull then 0 else 1 end) then 0 else count(b) end) from 表名 group by b
(A B 两个字段, 在B相同的情况下, 要对A有条件的记数,即只要A有一个非空, 就全部记数; A都为空, 也全部记数; A都不为空, 则都不记数
举例:
1. A B
* V1
V1 (记数结果 V1: 2)
2. A B
V1
V1 (记数结果 V1: 2)
3. A B
* V1
* V1 (记数结果 V1: 0)
)

sql中怎么实现整个表的转置?

SQL 表转置关键字 case when ,pivot
在 SQL Server 2005 之前,通常需要通过 case 子句来处理。
SQL 2005 后面可以使用pivot
下面介绍case when 用法,SQL 如下:
select ProductID,
sum( case when OrderMonth 5 then SubTotal end ) as 五月,
sum( case when OrderMonth 6 then SubTotal end ) as 六月,
sum( case when OrderMonth 7 then SubTotal end ) as 七月
from Orders
group by ProductID
pivot 用法:SQL 如下:
select sid, [1] as [database], [2] as [CSharp], [3] as [Xml]
from ( select sid, cid, mark from tbl_marks) t pivot
(
sum( mark )
for cid in ( [1], [2], [3] )
) as pvt