gpt4 book ai didi

详解MySQL中concat函数的用法(连接字符串)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章详解MySQL中concat函数的用法(连接字符串)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

MySQL中concat函数 。

使用方法:

CONCAT(str1,str2,…)  。

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL.

注意:

如果所有参数均为非二进制字符串,则结果为非二进制字符串.

如果自变量中含有任一二进制字符串,则结果为一个二进制字符串.

一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:

?
1
SELECT CONCAT( CAST (int_col AS CHAR ), char_col)

MySQL的concat函数可以连接一个或者多个字符串,如 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select concat( '10' );
+ --------------+
| concat( '10' ) |
+ --------------+
| 10  |
+ --------------+
1 row in set (0.00 sec)
 
mysql> select concat( '11' , '22' , '33' );
+ ------------------------+
| concat( '11' , '22' , '33' ) |
+ ------------------------+
| 112233 |
+ ------------------------+
1 row in set (0.00 sec)

MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL 。

?
1
2
3
4
5
6
7
mysql> select concat( '11' , '22' , null );
+ ------------------------+
| concat( '11' , '22' , null ) |
+ ------------------------+
| NULL  |
+ ------------------------+
1 row in set (0.00 sec)

MySQL中concat_ws函数 。

使用方法:

CONCAT_WS(separator,str1,str2,...) 。

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数.

注意:

如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值.

如连接后以逗号分隔 。

?
1
2
3
4
5
6
7
8
mysql> select concat_ws( ',' , '11' , '22' , '33' );
 
+ -------------------------------+
| concat_ws( ',' , '11' , '22' , '33' ) |
+ -------------------------------+
| 11,22,33 |
+ -------------------------------+
1 row in set (0.00 sec)

和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL 。

?
1
2
3
4
5
6
7
mysql> select concat_ws( ',' , '11' , '22' , NULL );
+ -------------------------------+
| concat_ws( ',' , '11' , '22' , NULL ) |
+ -------------------------------+
| 11,22 |
+ -------------------------------+
1 row in set (0.00 sec)

MySQL中group_concat函数 。

完整的语法如下:

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 。

基本查询 。

?
1
2
3
4
5
6
7
8
9
10
11
12
mysql> select * from aa;
+ ------+------+
| id| name |
+ ------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200  |
|3 | 500  |
+ ------+------+
6 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔(默认) 。

?
1
2
3
4
5
6
7
8
9
mysql> select id,group_concat( name ) from aa group by id;
+ ------+--------------------+
| id| group_concat( name ) |
+ ------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+ ------+--------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,分号分隔 。

?
1
2
3
4
5
6
7
8
9
mysql> select id,group_concat( name separator ';' ) from aa group by id;
+ ------+----------------------------------+
| id| group_concat( name separator ';' ) |
+ ------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500  |
+ ------+----------------------------------+
3 rows in set (0.00 sec)

以id分组,把去冗余的name字段的值打印在一行, 。

逗号分隔 。

?
1
2
3
4
5
6
7
8
9
mysql> select id,group_concat( distinct name ) from aa group by id;
+ ------+-----------------------------+
| id| group_concat( distinct name ) |
+ ------+-----------------------------+
|1 | 10,20|
|2 | 20  |
|3 | 200,500 |
+ ------+-----------------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序 。

?
1
2
3
4
5
6
7
8
9
mysql> select id,group_concat( name order by name desc ) from aa group by id;
+ ------+---------------------------------------+
| id| group_concat( name order by name desc ) |
+ ------+---------------------------------------+
|1 | 20,20,10  |
|2 | 20|
|3 | 500,200|
+ ------+---------------------------------------+
3 rows in set (0.00 sec)

repeat()函数 。

用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数 。

?
1
2
3
4
5
6
7
8
9
mysql> select repeat( 'ab' ,2);
 
+ ----------------+
| repeat( 'ab' ,2) |
+ ----------------+
| abab      |
+ ----------------+
 
1 row in set (0.00 sec)

又如 。

?
1
2
3
4
5
6
7
8
mysql> select repeat( 'a' ,2);
 
+ ---------------+
| repeat( 'a' ,2) |
+ ---------------+
| aa      |
+ ---------------+
1 row in set (0.00 sec)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:http://www.cnblogs.com/ZDPPU/p/5811976.html 。

最后此篇关于详解MySQL中concat函数的用法(连接字符串)的文章就讲到这里了,如果你想了解更多关于详解MySQL中concat函数的用法(连接字符串)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com