MySQL字符串如何正确连接函数

数据库 MySQL
此文主要向大家描述的是MySQL字符串连接函数的具体操作方案,以及对操作中值得我们大家注意的事项的描述,以下就是文章的主要内容。

以下的文章主要向大家介绍的是MySQL字符串连接函数的具体操作方案,我们主要是以MySQL数据库中concat函数为例来进行详细说明,以下就是对MySQL字符串连接函数的具体操作的详细内容描述。

使用方法:

CONCAT(str1,str2,…)

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

注意:

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

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

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

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

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

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)  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

 

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

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

 

MySQL中concat_ws函数

使用方法:

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

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

注意:

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

如连接后以逗号分隔

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

 

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

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

 

MySQL中group_concat函数

完整的语法如下:

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

基本查询

 

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) 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

 

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

 

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) 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

 

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

 

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) 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

 

以id分组,把去冗余的name字段的值打印在一行,以上的相关内容就是对MySQL字符串连接函数的具体操作方案的介绍,望你能有所收获。

【编辑推荐】

  1. MySQL配置SSL的实际操作流程
  2. 安装MySQL在linux as3之下
  3. MySQL连接字符串中的几个重要步骤
  4. MySQL连接字符串的经验总结
  5. Hibernate+MySQL 中文问题的解决
责任编辑:佚名 来源: 互联网
相关推荐

2010-05-26 15:36:23

MySQL字符串

2010-10-12 11:13:51

2010-10-09 11:54:46

MySQL字符串

2010-10-11 15:36:50

MySQL字符串连接

2023-01-09 09:52:06

Bash字符串

2010-11-26 10:14:40

MySQL repla

2009-02-24 14:27:55

2010-11-26 09:46:26

MySQL字符串相加

2010-06-13 18:06:06

2010-11-26 09:20:32

MySQL字符串连接函

2023-03-06 23:05:32

MySQL字符串函数

2009-02-24 15:39:27

字符串比较函数函数

2010-10-11 15:57:35

MySQL清除字符串

2010-11-26 11:34:32

MySQL截取字符串函

2014-01-02 16:14:10

PostgreSQL字符串

2010-05-19 14:39:12

MySQL连接字符串

2010-05-25 15:51:25

MySQL连接字符串

2010-10-09 12:01:00

MySQL字符串

2010-11-26 10:22:28

MySQL字符串比较

2010-10-11 15:47:46

MySQL字符串大小写
点赞
收藏

51CTO技术栈公众号