1. 程式人生 > >Mysql 使用 coalesce 處理sum為null的情況

Mysql 使用 coalesce 處理sum為null的情況

其實就是一個函式的應用 – coalesce
之前一個按照日期區間的查詢老是出問題,找來找去最後發現是sql語句裡有個select sum() 有的時候選中的日期區間沒有符合的記錄,結果sql的返回結果就成了null,但是Java裡處理的語句沒有處理這個特殊情況,所以才出現了報錯,對於這樣喲可能出現結果為null的查詢,應該在使用sum函式的時候使用 coalesce():

COALESCE(SUM(XXX),0)

這樣返回的結果就能保證是數字而不會可能出現空了。這個函式的意思跟C語言裡的逗號表示式有點相似,返回的是引數列表裡面第一個不為空的結果,例如:

COALESCE(a, b, c)

這樣返回的結果應該是自左向右第一個不為空的引數,這樣也就理解了使用這個函式來消除查詢中的null值了,當然不僅僅如此,如果我們想要消除一個查詢的欄位的可能為null的情況,自然也是可以使用這個函式。

記錄一下mysql中遇到的問題。