SQL concat函式union中文亂碼問題

2021-07-05 05:54:05 字數 294 閱讀 4960

最近編寫sql遇到乙個十分有趣的現象:

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

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

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

SQL CONCAT 字串連線函式

有的時候,我們有需要將由不同字段獲得的資料串連在一起。每一種資料庫都有提供方法來達到這個目的 mysql concat oracle concat sql server concat 的語法如下 concat 字串1,字串2,字串3,將字串1 字串2 字串3,等字串連在一起。請注意,oracle的c...

SQL CONCAT 字串連線函式

有的時候,我們有需要將由不同字段獲得的資料串連在一起。每一種資料庫都有提供方法來達到這個目的 concat 的語法如下 concat 字串1,字串2,字串3,將字串1 字串2 字串3,等字串連在一起。請注意,oracle的concat 只允許兩個引數 換言之,一次只能將兩個字串串連起來。不過,在or...

SQL CONCAT 字串連線函式

有的時候,我們有需要將由不同字段獲得的資料串連在一起。每一種資料庫都有提供方法來達到這個目的 concat 的語法如下 concat 字串1,字串2,字串3,將字串1 字串2 字串3,等字串連在一起。請注意,oracle的concat 只允許兩個引數 換言之,一次只能將兩個字串串連起來。不過,在or...