首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 字串連接函數 CONCAT 與 CONCAT_WS 完整指南

     編輯:MySQL 綜合教學

CONCAT(str1, str2, ...)

  • 任一參數為 NULL → 整體回傳 NULL。
  • 數值自動轉字串:CONCAT(10, 'abc') → '10abc'。
  • 二進制字串參數 → 結果為二進制字串。
SELECT CONCAT('11','22','33');  -- '112233'
SELECT CONCAT('11', NULL);      -- NULL

CONCAT_WS(sep, str1, str2, ...)

  • With Separator:第一參數為分隔符。
  • 分隔符為 NULL → 回傳 NULL。
  • 自動忽略 NULL 參數 (不忽略空字串)。
SELECT CONCAT_WS(',', '11','22','33');   -- '11,22,33'
SELECT CONCAT_WS(',', '11', NULL, '33'); -- '11,33'  (NULL 被跳過)

實戰場景

  1. 拼接顯示名:CONCAT_WS(' ', last_name, first_name)。
  2. 構建 CSV 行:CONCAT_WS(',', col1, col2, col3)。
  3. 動態 SQL:CONCAT('UPDATE t SET ', col, '=val WHERE id=', id)。

避坑指南

  • 需保留 NULL 語意時用 COALESCE(col, '') 包裹再 CONCAT。
  • 大量拼接 (萬行) 考慮 GROUP_CONCAT 或應用層處理,避免 SQL 過長。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved