在MySQL中,將多個字符串拼接成一個字符串是一個常見的需求。MySQL提供了一些函數來完成這個任務,包括CONCAT、CONCAT_WS、GROUP_CONCAT等。下面來逐個介紹這些函數:
CONCAT(str1, str2, ...)
這個函數將多個字符串按順序拼接成一個字符串。例如:
SELECT CONCAT('hello', ' ', 'world');
會輸出:
hello world
CONCAT_WS(separator, str1, str2, ...)
這個函數與CONCAT類似,但是它可以指定一個分隔符。例如:
SELECT CONCAT_WS(',', 'apple', 'banana', 'orange');
會輸出:
apple,banana,orange
GROUP_CONCAT(expr [SEPARATOR separator])
這個函數將多個行的值按順序拼接成一個字符串,其中expr是要拼接的表達式。可以指定一個可選的分隔符。例如:
SELECT GROUP_CONCAT(name SEPARATOR ',') FROM users;
會輸出users表中所有name列的值,以逗號分隔。注意,GROUP_CONCAT有一個長度限制,默認為1024個字符。如果想要修改這個限制,可以在my.cnf配置文件中設置group_concat_max_len參數。
上一篇mysql的排序算法