casewhen嵌套casewhen出现空值为啥会出现空值

Posted

tags:

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

case when 转换出现了null值的原因就是没有匹配上,实际上case when 是一个函数,是一个udf函数,一进一出,除了Null时是没有给定默认值,有时给了else ,也会出现 else值其他以外的情况,给后来人提醒,如果出现这种问题,一定要检查当前case when from的表,再就是子查询情况和写入并不对等,基本出现这种情况就是类型异常 参考技术A 因为有事!
才空值!

SQL SERVER常用的统计用法

 

--统计各种状态的总个数

SELECT 
sum(CASE WHEN [Status] =-1 THEN 1 ELSE 0 END ) AS Q1,
sum(CASE WHEN [Status] =0 THEN 1 ELSE 0 END ) AS Q2,
sum(CASE WHEN [Status] =1 THEN 1 ELSE 0 END ) AS Q3,
sum(CASE WHEN [Status] =2 THEN 1 ELSE 0 END ) AS Q4,
sum(CASE WHEN [Status] =3 THEN 1 ELSE 0 END ) AS Q5,
sum(CASE WHEN [Status] =4 THEN 1 ELSE 0 END ) AS Q6,
sum(CASE WHEN [Status] =5 THEN 1 ELSE 0 END ) AS Q7
FROM OrderInfo

 

以上是关于casewhen嵌套casewhen出现空值为啥会出现空值的主要内容,如果未能解决你的问题,请参考以下文章

mysql中case when的用法

mysql中case when的用法

case语句返回null postgresql时处理空值

请教一下数据库case when then end空值问题

sqlserver中使用 with as ,后面不能用if else吗?

sql 的case when 语句