美文网首页
有逻辑处理的sql语句,将查询结果为null的转为0

有逻辑处理的sql语句,将查询结果为null的转为0

作者: A_一只小菜鸟 | 来源:发表于2020-07-15 11:33 被阅读0次

    将null转为0

    在Java程序中调用sql语句时,如果返回结果是null,是非常容易引发程序抛出空指针异常的。


    20190628105032354.png

    单字段结果由null转0

    1、普通的sql:

    // 返回结果:null
    SELECT  price FROM goods WHERE name='light';
    

    2、使用IFNULL包含单个字段

    // 返回结果:0
    SELECT IFNULL(price,0) price FROM goods WHERE name='light';
    

    但使用IFNULL语句,如果where条件中的name值是不存在的,那么仍将返回null,例如:

    // 返回结果:null
    SELECT IFNULL(price,0) price FROM goods WHERE name='aaa';
    

    这时候,需要改写成下面的形式:

    3、使用IFNULL包含整个sql语句

    // 返回结果:0
    SELECT IFNULL((SELECT price FROM goods WHERE name='aaa'),0) price;
    

    聚合结果由null转0

    // 返回结果:0
    SELECT IFNULL(SUM(price),0) FROM goods WHERE status=3;
    

    其他,AVG、COUNT等用同样方式处理,而且,无论wher条件存在不存在,结果都是会返回0的。

    相关文章

      网友评论

          本文标题:有逻辑处理的sql语句,将查询结果为null的转为0

          本文链接:https://www.haomeiwen.com/subject/adshqktx.html