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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一下数据库case when then end空值问题相关的知识,希望对你有一定的参考价值。

select count(*) as zbs,sum(tx_amt) as zjj,
sum(case when (jlzt='1' and xym='00' and dfjydm='01') then 1 else 0 end) as jkcgbs,
sum(case when (jlzt='1' and xym='00' and dfjydm='01') then tx_amt else 0 end) as jkcgje from ywty_ysf_lsb where acct=:acct_no
要求是从ywty_ysf_lsb表里算出(jlzt='1' and xym='00' and dfjydm='01')的笔数,(jlzt='1' and xym='00' and dfjydm='01')的成功金额,但是acct是空的时候,jkcgbs、jkcgje 分别赋值到int、double变量的时候会变成-2147219196、-nan这种,如何解决

参考技术A 如果是判断null ,需要使用 is null 进行判断。
case when a is null then '' else a end

case when a is not null then a else '' end

case when then else end

case when 对表进行条件分组

case简单函数 case   age  when   then

    select name , sex , age , (

    case age 

     /*when 条件成立显示then中内容 then 成立是显示  else 不成立显示 end*/

    when age = 18 then ‘成年人‘ else ‘未成年‘ end

    when age = 30 then ‘而立之年‘ else ‘小伙子‘ end

    ) 身份   /*列名*/

    from user

name      sex     age         身份

张三         男       19         成年人

李四        男       30        而立之年

 

case 搜索函数 case when then

     SELECT COUNT((
            CASE
            WHEN condition = ‘‘   THEN condition
            ELSE NULL
            END

             )) col1 ,             //根据condition 分组,并统计condition = ‘‘出现的次数
            COUNT((
            CASE
            WHEN condition = ‘‘   THEN condition
            ELSE NULL
            END

             )) col2 ,
            count(id) count
            FROM  table
  

以上是关于请教一下数据库case when then end空值问题的主要内容,如果未能解决你的问题,请参考以下文章

请教大师一个sql语法then的用法

sql中的case when then else end

数据库--循环语句:case when/then else end;

sql case when then else end as用法

SQL中的case when then else end用法

case when then else end