mysql concat()函数

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

selectconcat('10');

输出 10

selectconcat('11','22','33');

输出112233

而Oracle的concat函数只能连接两个字符串select concat('11','22') from dual;

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

selectconcat('11','22',null);

输出NULL

而Oracle的concat函数连接的时候,只要有一个字符串不是NULL,就不会返回NULL

selectconcat('11',NULL)fromdual;

输出11

concat_ws()函数, 表示concat with separator,即有分隔符的字符串连接

如连接后以逗号分隔

selectconcat_ws(',','11','22','33');

输出11,22,33

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

selectconcat_ws(',','11','22',NULL);

将输出11,22

group_concat()可用来行转列, Oracle没有这样的函数

完整的语法如下

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

如下例子:

select*fromaa;

输出

+------+------+

| id | name |

+------+------+

| 1 | 10 |

| 1 | 20 |

| 1 | 20 |

| 2 | 20 |

| 3 | 200 |

| 3 | 500 |

+------+------+

6 rows in set (0.00 sec)

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

selectid,group_concat(name)fromaagroupbyid;

将输出:

+------+--------------------+

| id | group_concat(name) |

+------+--------------------+

| 1 | 10,20,20 |

| 2 | 20 |

| 3 | 200,500 |

+------+--------------------+

3 rows in set (0.00 sec)

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

selectid,group_concat(name separator';')fromaagroupbyid;

输出:

+------+----------------------------------+

| id | group_concat(name separator ';') |

+------+----------------------------------+

| 1 | 10;20;20 |

| 2 | 20 |

| 3 | 200;500 |

+------+----------------------------------+

3 rows in set (0.00 sec)

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

selectid,group_concat(distinct name)fromaagroupbyid;

输出

+------+-----------------------------+

| id | group_concat(distinct name) |

+------+-----------------------------+

| 1 | 10,20 |

| 2 | 20 |

| 3 | 200,500 |

+------+-----------------------------+

3 rows in set (0.00 sec)

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

```sql

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表示复制的份数

selectrepeat('ab',2);

+----------------+

| repeat('ab',2) |

+----------------+

| abab |

+----------------+

1 row in set (0.00 sec)

SPACE(N) 函数。生成N个空格,如

selectspace(3);

输出:

+----------+

| space(3) |

+----------+

| |

+----------+

1 row in set (0.00 sec)

STRCMP(STR1,STR2) 字符串比较函数,该函数和字符集有关系,默认区分大小写

若STR1和STR2相同, 则返回 0,

若STR1小于STR2, 则返回 -1,

若STR1大于STR2, 则返回 1

selectstrcmp('abc','abc');

输出0

selectstrcmp('a','ab');

输出-1

selectstrcmp('abc','ab');

输出1

mysql字段相同连接_mysql字符串连接,重复等字符串函数总结相关推荐

  1. mysql 字段加减_MySQL中你必须了解的函数

    在学习MySQL的时候你会发现,它有非常多的函数,在学习的时候没有侧重.小编刚开始学习的时候也会有这个感觉.不过,经过一段时间的学习之后,小编发现尽管函数有很多,但是常用的却只有那几个.今天小编就把常 ...

  2. mysql 字段最右匹配_Mysql字符串处理函数详细介绍、总结 -电脑资料

    一.简明总结 ASCII(char) 返回字符的ASCII码值 BIT_LENGTH(str) 返回字符串的比特长度 CONCAT(s1,s2-,sn) 将s1,s2-,sn连接成字符串 CONCAT ...

  3. mysql内外三种连接_mysql之内连接,外连接(左连接,右连接),union,union all的区别...

    内连接,外连接,左连接,右连接,全连接 测试数据: CREATE TABLE `a_table` ( `a_id` int(11) DEFAULT NULL, `a_name` varchar(10) ...

  4. mysql 全连接_MySQL全连接(Full Join)实现,union和union all用法

    MySQL本身不支持你所说的full join(全连接),但可以通过union来实现 , 下面是一个简单测试,可以看看: mysql> CREATE TABLE a(id int,name ch ...

  5. mysql 修复错误连接_mysql 无法连接问题的定位和修复过程分享

    定位结果如下: 客户环境: windows server 2003 r2 standard edition sp2 mysql Ver 14.12 Distrib 5.0.18, for Win32 ...

  6. mysql 左连接_MySQL左连接与右连接

    前几次面试的时候遇到左右连接的问题,这里进行回顾. 先通过下面两个表展示一下左连接和右连接的结果 左连接与右连接 员工表: mysql> select * from employ;+------ ...

  7. mysql字段简索引_Mysql索引优化攻略(全)

    所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找.而用的最多,并且是mysql默认的就是二叉树算法 BTREE, ...

  8. mysql 字段加减_Mysql常见问题及优化

    一.库表设计 1.1 引擎选择 在 mysql 5.1 中,引入了新的插件式存储引擎体系结构,允许将存储引擎加载到正在运新的 mysql 服务器中.使用 mysql 插件式存储引擎体系结构,允许数据库 ...

  9. mysql 字段加减_MySQL数据库开发常见问题及优化(续)

    在设计表或索引时,常出现以下几个问题: 1.少建索引或不建索引.这个问题最突出,建议建表时 DBA 可以一起协助把关. 2.索引滥用.滥用索引将导致写请求变慢,拖慢整体数据库的响应速度(5.5 以下的 ...

  10. mysql字段的长度_MySQL字段的长度

    MySQL字段有多种的类型,不同的MySQL字段长度也各不一样,下面就为您介绍各种MySQL字段的长度,供您参考学习之用. 数值类型 列类型 需要的存储量 TINYINT 1 字节 SMALLINT ...

最新文章

  1. oracle mysql 适配器_Oracle协议适配器错误解决办法
  2. java导出excel_如何导出你和女票的微信聊天记录
  3. 浅谈数据中心集成的优势
  4. cdockpane限制调整大小_影视后期制作小伙伴必看:使用AU对声音质量进行调整的三大技巧...
  5. SVN中如何去除版本控制器
  6. Windows Mobile 7(Photon) 梦幻之旅系列-前言
  7. darknet框架_【通知】有三AI发布150页深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...
  8. HDU1061 Rightmost Digit【快速模幂】
  9. unity 动画 音频播放
  10. 2021全国研究生数学建模竞赛A题思路
  11. 如何用谷歌地图下载器下载大字体谷歌地图打印喷绘
  12. 分布式定时任务的解决方案
  13. 你相信吗?这些照片其实并没有被PS_-Chaz-_新浪博客
  14. 数字电路28(设计步骤及十进制加计数器设计)
  15. 微信小程序2D canvas绘制分享海报
  16. 转区系统开放艾欧尼亚转入服务器,【英雄联盟】转区系统开放艾欧尼亚转入服务...
  17. Qt 绘制拖动刻度尺
  18. 假如银行利率如下所示,请分别计算存款10000元,活期1年、活期2年、定期1年、定期2年后的本息合计。(结果四舍五入,不保留小数位。使用Math.round(double d)实现
  19. Lambda相关图形
  20. 提高生产力和效率的小方法

热门文章

  1. kmeans和Dbscans将相邻的轮廓聚类
  2. 【Microsoft Azure 的1024种玩法】四十八.基于Azure Virtual Machines快速搭建SQL Server应用
  3. python+django固定资产管理系统项目源码
  4. java布尔类型的调用_java-使用布尔值进行同步
  5. songtaste音乐列表
  6. python取出字典中最大值_python 比较字典value的最大值的几种方法
  7. 读侯俊杰的《深入浅出MFC》小记
  8. python自动发表情包
  9. c#退出窗口跳转_编写Qt多窗口程序
  10. DA14580BLE接收流程分析