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

MySQL 字串串聯函數 CONCAT 使用教學

     編輯:MySQL 綜合教學

MySQL 字串串聯函數 CONCAT 使用教學

從 SQL Server 轉移到 MySQL 的開發者常會踩到一個坑:MySQL 不支援 + 運算子進行字串串聯。在 MySQL 中,+ 僅用於數值相加,字串串聯必須使用 CONCAT() 函數。

基本語法

CONCAT(str1, str2, ...)

回傳所有參數串聯後的字串;若任一參數為 NULL,結果為 NULL。

範例

mysql> SELECT CONCAT('My', 'S', 'QL');
+-------------------------+
| CONCAT('My', 'S', 'QL') |
+-------------------------+
| MySQL                   |
+-------------------------+

進階用法:CONCAT_WS(帶分隔符)

若需在字串間加入分隔符(如逗號、底線),可用 CONCAT_WS(separator, str1, str2, ...):

SELECT CONCAT_WS('-', '2024', '01', '15');  -- 2024-01-15
SELECT CONCAT_WS(', ', last_name, first_name) FROM users;  -- 陳, 小明

CONCAT_WS 會自動跳過 NULL 值,不會產生多餘分隔符。

常見應用場景

  • 產生顯示用的完整名稱:CONCAT(first_name, ' ', last_name)
  • 組合查詢條件:WHERE CONCAT(city, district, address) LIKE '%關鍵字%'
  • 動態產生 SQL:SET @sql = CONCAT('SELECT * FROM ', @table_name);

效能提醒

CONCAT 在大量資料查詢中會增加 CPU 開銷,若頻繁用於 WHERE 或 JOIN 條件,建議在應用層組裝字串,或建立虛擬欄位/產生欄位索引(MySQL 8.0+ 支援)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved