美文网首页开发这点事
MySQL 字符串拼接

MySQL 字符串拼接

作者: 虎小伟 | 来源:发表于2019-03-12 15:48 被阅读0次

在Mysql 数据库中存在两种字符串连接操作.具体操作如下

一. 语法:

1. CONCAT(string1,string2,…) 说明 : string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

例1:


没有NULL

例2:


有NULL

2. CONCAT_WS(separator,str1,str2,...)
说明 : string1,string2代表字符串,concat_ws 代表 concat with separator,第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

例1:

mysql> select concat_ws('#','dbdh=','NorthEastTrcoon',null) AS dbdh_name_three;
+-----------------------+
| dbdh_name_three       |
+-----------------------+
| dbdh=#NorthEastTrcoon |
+-----------------------+
1 row in set (0.00 sec)

例2:

mysql> select concat_ws(null,'dbdh=','NorthEastTrcoon',null) AS dbdh_name_fourth
;
+------------------+
| dbdh_name_fourth |
+------------------+
| NULL             |
+------------------+
1 row in set (0.00 sec)

例3:

mysql> select concat_ws('*','dbdh=','NorthEastTrcoon',null) AS dbdh_name_fifth;
+-----------------------+
| dbdh_name_fifth       |
+-----------------------+
| dbdh=*NorthEastTrcoon |
+-----------------------+
1 row in set (0.00 sec)

3. MySQL中group_concat函数
完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

基本查询

mysql> select * from stu1;
+------+------+
| 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)

相关文章

  • DataBase通用笔记

    1、字符串拼接 MySQL:CONCAT() Oracle:CONCAT(),|| SQLServer:CONCA...

  • mysql中的字符串的拼接

    字符串的拼接 1,Mysql 在Java、C#等编程语言中字符串的拼接可以通过加号“+”来实现,比如:"1"+"...

  • mysql多个字段拼接

    mysql多个字段拼接1)常规字符串拼接: 返回结果:123abcABC 2)有NULL值存在,函数返回NULL ...

  • 2019-04-19(2)

    MYSQL 常用函数 Concat() 拼接字符串 ltrim() 取除左边空格 rtrim () 取除...

  • MySQL 多字符串字段模糊查询

    MySQL 多字符串字段模糊查询,可以先拼接字符串,示例如下: SET @s = 'z'; SELECT * FR...

  • mysql中like语法拼接4种方式

    在mysql中,字符串与字符串之间用空格连接相当于拼接,'a' 'b' 'c' 相当于 'abc' 'a'"b"'...

  • mysql字符串拼接

    数据准备 mysql字符串拼接函数介绍 CONCAT(string1,string2,…) 说明 : string...

  • MySQL字符串拼接

    concat用于拼接字符串,语法很简单,直接上例子 select name, concat(round(w.pop...

  • MySQL 字符串拼接

    在Mysql 数据库中存在两种字符串连接操作.具体操作如下 一. 语法: 1. CONCAT(string1,st...

  • 八、SQL语法差异及解决方案①(运算符差异)

    运算符的差异 在不同的数据库系统中字符串拼接的方式是不同的,下面的主流数据库系统对字符串拼接的支持: MYSQL:...

网友评论

    本文标题:MySQL 字符串拼接

    本文链接:https://www.haomeiwen.com/subject/uolnpqtx.html