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

2022-05-10 08:48:20 字數 656 閱讀 6181

在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的結果精確度可以在第二個引數中定義。

mysql的SUM函式結果

新專案在設計資料庫欄位時將部分儲存數字的字段設計成字串格式,開發環境和測試環境都沒有出問題,但在發布到生產環境上時出現格式轉換錯誤。查詢日誌發現是字串格式的數字進行加運算時出現的格式轉換錯誤 integer.valueof,測試發現是資料查詢的結果存在0.0資料,懷疑是對該字段執行的sum操作導致。...

MySQL中的sum函式遇到null的坑點

3 字段值為null時,sum的值 4 對非計數型別使用sum函式 5 結論 專案中的sql指令碼中遇到了 select ifnull sum 欄位名 0 from table name 該型別的寫法,目的很明確,就是為了在sum值為null,也能夠返回數字0 那問題就來了,什麼情況下sum的值會為...

PHP中json decode返回值為null

今天在呼叫介面獲取json資料轉碼的時候遇到了問題,記錄一下 成功獲取到了資料,但經過json decode解碼後卻為null 使用json last error 函式得到錯誤 3,在網上查到原因為返回的資料為utf 8有bom頭編碼,而php使用的是 無bom頭的utf 8編碼,所以解析錯誤,知道...