CONCAT(str1, str2, ...)
返回拼接後的字符串,任一參數為 NULL 則結果為 NULL。使用 CONCAT_WS(sep, str1, str2...) 可指定分隔符並自動跳過 NULL。
mysql> SELECT CONCAT('FIRST ', 'SECOND');
+----------------------------+
| CONCAT('FIRST ', 'SECOND') |
+----------------------------+
| FIRST SECOND |
+----------------------------+
+------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 3 | Jack | 2007-04-06 | 100 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-06-06 | 300 | | 5 | Zara | 2007-02-06 | 350 | +------+------+------------+--------------------+
mysql> SELECT CONCAT(id, name, work_date) FROM employee_tbl; +-----------------------------+ | CONCAT(id, name, work_date) | +-----------------------------+ | 1John2007-01-24 | | 2Ram2007-05-27 | | 3Jack2007-05-06 | | 3Jack2007-04-06 | | 4Jill2007-04-06 | | 5Zara2007-06-06 | | 5Zara2007-02-06 | +-----------------------------+
CONCAT_WS(' - ', id, name, work_date) → 1 - John - 2007-01-24CONCAT(IFNULL(col,''), ...) 或 CONCAT_WSCONCAT('{"id":', id, ',"name":"', name, '"}')SET @sql = CONCAT('SELECT * FROM ', @table, ' WHERE id=', @id); PREPARE stmt FROM @sql; EXECUTE stmt;GROUP_CONCAT() 聚合