1. 程式人生 > >SQL concat函式union中文亂碼問題

SQL concat函式union中文亂碼問題

    最近編寫SQL遇到一個十分有趣的現象:

    使用mysql concat函式連線字串中有中文字元,大概類似於 concat('截止到','t.date','共有',‘count(1)’,'條符合條件的資料') as 主題,單獨查詢是好的,但是幾個不同條件的sql union 之後竟然在主題那一欄的欄位中產生了亂碼。

    原因是count函式,當沒有符合的資料時,count(1) 為Null,而sql是不識別NULL的編碼的,所以會導致一部分編碼亂掉。

     解決方法: 增加判斷,若為NULL,設為0, IFNULL(count(1),0)