在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編碼,所以解析錯誤,知道...