concat与group_concat函数使用流程

  

1. concat()函数

使用方法:
返回的结果为连接参数产生的字符串,如有任何一个参数为null,则返回值为null

<强>注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串
如果自变量中含有任一二进制字符串,则结果为二进制字符串
一个数字参数被转为与之相等的二进制字符串格式,如要避免这种情况,可使用显式类型铸造

例如:

选择concat ((int_col char), char_col); 

<强>使用例子:
<强> 1。字段两端加上”、“

<强>  concat与group_concat函数使用流程

mysql>选择concat(& # 39; & # 39;名字,& # 39;,& # 39;)从“用户”;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | concat (& # 39; & # 39; fdipzone, & # 39;, & # 39;) |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | | fdipzone   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1行组(0.00秒)


<强> 2。其中有一个参数为零

mysql>选择concat (null,名字)从“用户”;   + - - - - - - - - - - - - - - - - - - - + | concat (null,名字)|   + - - - - - - - - - - - - - - - - - - - | + | NULL   + - - - - - - - - - - - - - - - - - - - + 1行组(0.00秒)

2. concat_ws()函数

使用方法:

concat_ws()函数是concat()函数的特殊形式,第一个参数是其他参数的分隔符。分隔符的位置在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其他参数。
如果分隔符为空,则结果为null。
函数会忽略任何分隔符参数后的零值,但concat_ws()不会忽略任何空字符串。

<强>使用例子:
<强> 1。使用”、“分隔多个字段

mysql>选择concat_ws (& # 39; & # 39; country_code,电话,地区)从“用户”;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | concat_ws (& # 39; & # 39; country_code,电话,地区)|   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | 86,13794830550,广州|   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1行组(0.00秒)


<强> 2。分隔符为空

mysql>选择concat_ws (null, country_code、电话、地区)从“用户”;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | concat_ws (null, country_code、电话、地区)|   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | + | NULL   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1行组(0.00秒)


<强> 3。参数中有空与空字符串

mysql>选择concat_ws (& # 39; & # 39; country_code,电话,null,地区,& # 39;& # 39;,年级)从“用户”;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | concat_ws (& # 39; & # 39; country_code,电话,null,地区,& # 39;& # 39;,年级)|   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | 86,13794830550,广州,200 |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1行组(0.00秒)

3. group_concat()函数

使用方法:

group_concat可以得到表达式结合体的连结值,使用不同可以排除重复值。使用order by子句可以排序。
分隔符是一个字符串,用于分隔结果集中每个元素。默认是逗号,可以通过指定分离器”“完全移除这个分隔符。

<强>使用例子:

表结构

创建表“article_in_category”(“id”int(11)无符号不是零AUTO_INCREMENT article_id的int(11)无符号不是NULL, category_id添加的int(11)无符号不是NULL,主键(id),关键“article_id_INDEX”(“article_id”),关键“category_id_INDEX”(“category_id添加”)
  )引擎=InnoDB默认字符集=utf8; 

插入数据:

插入“article_in_category”(“id”,“article_id”、“category_id添加”)值(NULL, & # 39; 1 & # 39;, & # 39; 1 & # 39;),
  (NULL, & # 39; 1 & # 39;, & # 39; 2 & # 39;), (NULL, & # 39; 1 & # 39;, & # 39; 3 & # 39;), (NULL, & # 39; 2 & # 39;, & # 39; 4 & # 39;), (NULL, & # 39; 2 & # 39;, & # 39; 3 & # 39;), (NULL, & # 39; 2 & # 39;, & # 39; 5 & # 39;), (NULL, & # 39; 3 & # 39;, & # 39; 1 & # 39;),
  (NULL, & # 39; 3 & # 39;, & # 39; 5 & # 39;), (NULL, & # 39; 3 & # 39;, & # 39; 6 & # 39;), (NULL, & # 39; 4 & # 39;, & # 39; 8 & # 39;); 

concat与group_concat函数使用流程