MySQL sum()函數的一些注意點

轉自:https://blog.csdn.net/u013303551/article/details/51896290

在使用SSM框架的時候, 去數據查詢語句使用到了 sum()求和函數,sum函數會給結果自動轉型,在java中類型變成了 BigDecimal ,如果不是用這個類型去接收就會報錯。

代碼如下,

  BigDecimal totalSend = (BigDecimal) aa.get("totalSend");

接收到的結果再去轉型 

  long  send= totalSend.longValue(); 

這是一點,第二個注意點是 sum函數如果得出的值是null ,那麼代碼端 接收的時候會報錯 ,那就應該在sql語句中把空值轉化成0 ,代碼如下

ifnull(sum(ifnull(send_total_ticket,0)),0)

這裏面有兩個ifnull,先判斷裏面的send_total_ticket 轉化null爲0 ,再把sum轉化後如果是null再變成0,有的數據庫如oralce 是isnull ,但是mysql數據庫是ifnull這個也要注意一下。
 

希望有助於大家,本人小白,記錄於此用於自己學習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章