Mysql中的sum函數為null時的解決辦法


在mysql中sum函數查出的最終結果為0的時候會顯示null,這時候就需要將null轉為0:

方法1:使用IFNULL(expr1,expr2)函數:

    

SELECT
    IFNULL(sum(SS), 0.0) AS sum
FROM
    fd_order fo2
WHERE
    fo2.BUYER_ID = '11'
結果為:

 

方法2:

使用COALESCE(value,...) 函數:

SELECT
COALESCE(sum(SS), 0.00) as sum
FROM
fd_order fo2
WHERE
fo2.BUYER_ID = '11'
結果為:

 

方法3:使用 case when 函數進行判斷

SELECT
CASE WHEN ISNULL(sum(SS)) THEN 0
ELSE sum(SS) END as sum
FROM
fd_order fo2
WHERE
fo2.BUYER_ID = '11'
結果為:

 

備注:這三種方法的結果稍微有點不一樣,方法1和方法2的結果精確度可以在第二個參數中定義。

case when函數相當於一個判斷語句,返回的結果可以定義成0,也可以定義成其他字母甚至漢字。
————————————————
版權聲明:本文為CSDN博主「ZhuangYQ丶」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/iilegend/article/details/80363724


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM