在 MySQL 中,直接用 `+` 連接字串(如 `SELECT a+b FROM t`)會被視為數值相加,導致 `varchar` 欄位顯示錯誤。正確做法是使用 CONCAT() 函數。
CONCAT(str1, str2, ...)
NULL,整體回傳 NULLCAST(int_col AS CHAR)SELECT CONCAT('11','22','33'); -- 結果:112233
SELECT CONCAT('11','22',NULL); -- 結果:NULL
SELECT CONCAT(CAST(int_col AS CHAR), char_col) FROM t;
雖然 CONCAT 好用,但在大量資料、高頻查詢的欄位上濫用會增加 CPU 開銷。建議:
CONCAT 是 MySQL 字串合併的標準函數,掌握其 NULL 傳播行為與型別轉換規則,能避開常見坑點。