当前位置:首页 > 系统运维 > 正文内容

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

a8116255316年前 (2010-05-26)系统运维12

以下的文章主要向大家介绍的是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)  

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

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

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)  

和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字符串连接函数的具体操作方案的介绍,不知道各位对MySQL的认识是不是更上一层楼了,时时关注ITjs,学习最新Mysql技术。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/20647.html

分享给朋友:

“MySQL字符串如何正确连接函数” 的相关文章

如何设置Win 7通知栏重新显示电源按钮

如何设置Win 7通知栏重新显示电源按钮

有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04应用窗口列表在哪里?在ubuntu下打开个几个应用窗口最小化后怎么切换呢,应用窗口列表在哪里呢? 1、多打开几个chrome浏览器窗口。 2、然后都做最小化处理。 3、现在我们在桌面左边的面板上找到"左右两边有小白点"的chrome浏览器应用图标,这就是chr...

windows 7玩网游PING高即网络延时比较高的解决方法

windows 7玩网游PING高即网络延时比较高的解决方法

经常听见有人说用Windows 7玩网络游戏的时候网络延时比较高,也就是ping比平时xp的时候高一点,一直找不到原因,很苦恼。今天我们终于找到理由了,原来是Windows 7的一个服务在作怪,这个服务叫:Multimedia Class Scheduler,就是这个服务让我的PING如此高,问题是...

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

1月13日消息,微软今天为Windows 7(SP1)用户重新推送了编号为KB2952664的更新补丁,该更新在官方KB知识库中的描述为“Windows 7系统升级兼容性更新”,用于帮助微软改进当前版本系统,提升升级到最新版Win10系统的体验。 这项更新还用于在系统中显示Windows10更新提...

windows 7任务栏快捷方式如何居中显示默认从左像右排列

windows 7任务栏快捷方式如何居中显示默认从左像右排列

使用Windows 7的朋友都知道,任务栏上的快捷方式图标都是靠近开始菜单按钮,从左像右排列,不过也有一些用户喜欢左右对称,想要把那些快捷方式居中显示,看起来这个任务好像无从下手,其实一点也不难,只要通过下面方法就能轻松搞定。 1、首先在电脑磁盘中任何一个地方新建一个文件夹。 2、右击任务栏-&...

windows 7任务栏右下角小三角按钮如何显示以便隐藏更多的程序图

windows 7任务栏右下角小三角按钮如何显示以便隐藏更多的程序图

当你的Windows 7系统在后台打开多个程序时,任务栏右下角往往会出现一排的图标,不但影响美观而且也没实用性。能不能让它像WinXP那样有一个可以隐藏后台程序的小三角图标呢 当然可以,Windows 7可是继承了WinXP许多优秀的功能,而且设置方法也非常简单。 操作方法: 1、在任务栏空白处...