mysql的字符串拼接函数
时间: 2023-12-06 16:38:00 浏览: 104
mysql拼接字符串函数.zip
MySQL提供了三个字符串拼接函数:CONCAT、CONCAT_WS和GROUP_CONCAT。
1. CONCAT函数将两个或多个字符串连接在一起。它的语法如下:
```mysql
CONCAT(str1, str2, ...)
```
其中,str1、str2等为要连接的字符串,可以是常量、列名或表达式。例如:
```mysql
SELECT CONCAT('Hello', 'World'); -- 输出:HelloWorld
SELECT CONCAT('Hello', ' ', 'World'); -- 输出:Hello World
SELECT CONCAT('The answer is ', 42); -- 输出:The answer is 42
SELECT CONCAT('The answer is ',4 + 2); -- 输出:The answer is 6
SELECT CONCAT('Hello', NULL); -- 输出:NULL
```
注意,如果其中一个参数为NULL,则结果也为NULL。
2. CONCAT_WS函数将多个字符串连接在一起,并使用指定的分隔符分隔它们。它的语法如下:
```mysql
CONCAT_WS(separator, str1, str2, ...)
```
其中,separator为分隔符,str1、str2等为要连接的字符串。例如:
```mysql
SELECT CONCAT_WS(',', 'apple', 'banana', 'orange'); -- 输出:apple,banana,orange
SELECT CONCAT_WS('-', '2021', '08', '01'); -- 输出:2021-08-01
SELECT CONCAT_WS('-', '2021', NULL, '01'); -- 输出:2021-01
```
注意,如果其中一个参数为NULL,则结果中不会包含分隔符。
3. GROUP_CONCAT函数将多个字符串连接在一起,并使用指定的分隔符分隔它们。不同之处在于,它可以将多行结果合并成一行,并且可以对结果进行排序和去重。它的语法如下:
```mysql
GROUP_CONCAT(expr ORDER BY sort_key SEPARATOR separator)
```
其中,expr为要连接的字符串,可以是常量、列名或表达式;sort_key为排序关键字,可以是列名或表达式;separator为分隔符。例如:
```mysql
SELECT GROUP_CONCAT(name ORDER BY age SEPARATOR ',') FROM students;
-- 将students表中的name列按照age列排序,并用逗号分隔连接成一行结果
SELECT GROUP_CONCAT(DISTINCT name ORDER BY name SEPARATOR ',') FROM students;
-- 将students表中的name列去重并按照name列排序,并用逗号分隔连接成一行结果
```
阅读全文