菜单

MySQL字符串连接函数用法简单介绍

2019年6月14日 - MySQL

MySQL字符串连接函数是大家很常用的函数,上边就为你详细介绍MySQL字符串连接函数的用法,希望得以让您对MySQL字符串连接函数有越来越多的问询。

MySQL中concat函数

动用办法:
CONCAT(str1,str2,…) 

使用方法:

回到结果为连日来参数产生的字符串。如有任何二个参数为NULL ,则重返值为
NULL。

CONCAT(str1,str2,…) 

注意:
借使具备参数均为非二进制字符串,则结果为非二进制字符串。
倘若自变量中含有任一二进制字符串,则结果为三个二进制字符串。
贰个数字参数被转接为与之齐名的二进制字符串格式;若要防止这种景况,可选取显式类型
cast, 比如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)

归来结果为总是参数爆发的字符串。如有任何多少个参数为NULL ,则重返值为
NULL。

MySQL的concat函数能够继续不停多个要么多个字符串,如

注意:

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

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

mysql> select concat('11','22',null);  +------------------------+  | concat('11','22',null) |  +------------------------+  | NULL   |  +------------------------+  1 row in set (0.00 sec)  

七个数字参数被转接为与之齐名的二进制字符串格式;若要防止这种意况,可利用显式类型
cast, 比方:

MySQL中concat_ws函数
利用方法:
CONCAT_WS(separator,str1,str2,…)

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

CONCAT_WS() 代表 CONCAT With Separator
,是CONCAT()的特别格局。第四个参数是任何参数的分隔符。分隔符的职位位于要连接的多个字符串之间。分隔符可以是二个字符串,也足以是别的参数。
注意:
假诺分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

MySQL的concat函数能够连接三个也许七个字符串,如

如一而再后以逗号分隔

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> select concat_ws(',','11','22','33');   +-------------------------------+  | concat_ws(',','11','22','33') |  +-------------------------------+  | 11,22,33 |  +-------------------------------+  1 row in set (0.00 sec)   

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

和MySQL中concat函数差异的是,
concat_ws函数在实践的时候,不会因为NULL值而回到NULL

mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL  |
+------------------------+
1 row in set (0.00 sec)
mysql> select concat_ws(',','11','22',NULL);  +-------------------------------+  | concat_ws(',','11','22',NULL) |  +-------------------------------+  | 11,22 |  +-------------------------------+  1 row in set (0.00 sec)  

MySQL中concat_ws函数

教你什么贯彻MySQL全文查询

使用方法:

MySQL查询分页的优化

CONCAT_WS(separator,str1,str2,…)

MySQL查询结果按某值排序

CONCAT_WS() 代表 CONCAT With Separator
,是CONCAT()的不相同平日格局。第贰个参数是其它参数的分隔符。分隔符的岗位位于要连接的多少个字符串之间。分隔符能够是贰个字符串,也足以是其它参数。

mysql查询大小写题目

注意:

MySQL大表重复字段的询问格局

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

http://www.bkjia.com/Mysql/578998.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/578998.htmlTechArticleMySQL字符串连接函数是我们很常用的函数,下面就为您详细介绍MySQL字符串连接函数的用法,希望可以让您对MySQL字符串连接函数有更多的了

如再而三后以逗号分隔

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

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 ‘分隔符’])

基本查询

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字段的值打印在一行,逗号分隔(暗许)

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字段的值打字与印刷在一行,分号分隔

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字段的值打字与印刷在一行,

逗号分隔

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排倒序

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象征复制的份数

mysql> select repeat('ab',2);

+----------------+
| repeat('ab',2) |
+----------------+
| abab      |
+----------------+

1 row in set (0.00 sec)

又如

mysql> select repeat('a',2);

+---------------+
| repeat('a',2) |
+---------------+
| aa      |
+---------------+
1 row in set (0.00 sec)

如上正是本文的全体内容,希望对我们的学习抱有扶助,也可望我们多多帮忙脚本之家。

你也许感兴趣的篇章:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图