concat效率 mysql_Mysql常用函数之Concat函数

concat效率 mysql_Mysql常用函数之Concat函数本篇文章主要介绍了MySQL中concat函数的用法(连接字符串),在命令行模式下进行测试。1.MySQL中concat函数使用方法:CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL,则返回值为NULL。注意:(1)如果所有参数均为非二进制字符串,则结果为非二进制字符串。(2)如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。MySQ…

大家好,又见面了,我是你们的朋友全栈君。

本篇文章主要介绍了MySQL中concat函数的用法(连接字符串),在命令行模式下进行测试。

1. MySQL中concat函数

使用方法:

CONCAT(str1,str2,…)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

注意:

(1)如果所有参数均为非二进制字符串,则结果为非二进制字符串。

(2)如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。

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)

2.MySQL中concat_ws函数

使用方法:

CONCAT_WS(separator,str1,str2,…)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。

注意:

如果分隔符为 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)

3.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 aagroup by id;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137891.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VBScript教程之一(Hello VBScriopt)「建议收藏」

    VBScript教程之一(Hello VBScriopt)「建议收藏」***********************************************************VBScript变量命名编码规范Subtype         Prefix     Example Boolean         bln         blnFound Byte         byt         bytRasterData Date (

    2022年6月16日
    27
  • pycharm是下载社区版本的还是专业版本_pycharm激活成功教程版汉化包

    pycharm是下载社区版本的还是专业版本_pycharm激活成功教程版汉化包pycharm产品主页:https://www.jetbrains.com/pycharm/

    2022年8月25日
    6
  • DB4O详细介绍

    DB4O详细介绍深入db4o深入db4o这是RickGrehan发表在TheServerSide上的一篇关于面向对象数据库–db4o的文章,较全面地介绍了db4o的关键特性,希望对大家认识db4o能有所帮助。(2007.12.07最后更新)db4o-针对对象的数据库-是一个完全的对象数据库;它以使对象在其生命周期中-无论是在数据库内或是在外-都保持着它们的本性这样一种方…

    2022年7月21日
    13
  • getchar的使用

    1.从缓冲区读走一个字符,相当于清除缓冲区2.前面的scanf()在读取输入时会在缓冲区中留下一个字符’\n’(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误3.getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和…

    2022年4月5日
    104
  • 复制集让mongodb的secondary支持读操作,因为存在读写延迟所以是否需要读写分离

    复制集让mongodb的secondary支持读操作,因为存在读写延迟所以是否需要读写分离复制集让mongodb的secondary支持读操作,因为存在读写延迟所以是否需要读写分离

    2022年4月24日
    65
  • 2010年软件外包企业排名, 软件外包公司排名2010

    2010年软件外包企业排名, 软件外包公司排名20101. 博朗软件 Bleum(上海)2. 中软国际(北京)3. 东软集团 Neusoft(沈阳)4. 博彦科技 BeyondSoft(北京)5. 海辉软件 HiSoft(大连)6. 文思 VanceInfo(北京)7. 浙大网新 Insigma (杭州)8. 奥博杰天 Objectiva(北京)9. 浪潮 Inspur(济南)…

    2022年5月5日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号