当在数据库表中查询结果为0, 即没有查询到结果时,希望显示为0

当在数据库表中查询不到指标数据时,希望显示为0的话:

方式一:select case (SELECT
 count(1)
           FROM prpseadailycheck pc
 where pc.checkcode = 'BDCBL')
 when 0 then 0
   else
      (SELECT
          pc.grade
           FROM prpseadailycheck pc
 where pc.checkcode = 'BDCBL' )
   end 
     from dual;

当有值时,显示某一个字段的值

select case (SELECT count(1)
          FROM prpseadailycheck pc  where pc.checkcode = 'XZMD')
 when 0 then 0
   else
      (SELECT     max(pp.grade)      FROM prpseadailycheck pp  where pp.checkcode = 'XZMD' )
   end 
     from dual;

方式二:

 SELECT nvl( (SELECT          pc.grade
           FROM prpseadailycheck pc
 where pc.checkcode = 'BDCBL'),0) from dual 

发布了44 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/paocai_2019/article/details/105743592
今日推荐