mysql中字符串拼接函数
时间: 2023-10-27 12:52:38 浏览: 40
mysql中字符串拼接函数有两种:CONCAT和CONCAT_WS。
1. CONCAT函数
CONCAT函数用于将两个或多个字符串连接在一起。
语法:CONCAT(str1, str2, ...)
示例:
SELECT CONCAT('hello', 'world'); //输出'helloworld'
SELECT CONCAT('hello', ' ', 'world'); //输出'hello world'
SELECT CONCAT('hello', NULL, 'world'); //输出'hello world'
2. CONCAT_WS函数
CONCAT_WS函数用于将多个字符串连接在一起,同时可以指定一个分隔符。
语法:CONCAT_WS(separator, str1, str2, ...)
示例:
SELECT CONCAT_WS('-', '2021', '06', '30'); //输出'2021-06-30'
SELECT CONCAT_WS(' ', 'hello', NULL, 'world'); //输出'hello world'
相关问题
mysql的字符串拼接函数
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列排序,并用逗号分隔连接成一行结果
```
MYSQL字符串拼接函数
MySQL字符串拼接函数有以下三个:CONCAT、CONCAT_WS和GROUP_CONCAT。
其中,CONCAT函数用于对多个字符串进行拼接,语法为CONCAT(str1,str2,...),可以拼接两个或多个字符串,返回值为拼接后的结果。
GROUP_CONCAT函数用于将多行数据按照指定的顺序和分隔符进行拼接,语法为GROUP_CONCAT(expr ORDER BY col SEPARATOR str),其中expr为需要拼接的列名,ORDER BY col为排序的列名,SEPARATOR str为分隔符。
而CONCAT_WS函数则是在CONCAT函数的基础上增加了分隔符的功能,语法为CONCAT_WS(separator,str1,str2,...),可以将多个字符串使用指定的分隔符隔开进行拼接,返回值为拼接后的结果。
以下是一个MYSQL字符串拼接函数的例子:
```sql
SELECT CONCAT_WS('-','this','is','a','demo') AS 'result' FROM DUAL;
```
输出结果为:
```
result
this-is-a-demo
```