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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mysql存储过程基本语法

    Mysql存储过程基本语法Mysql存储过程基本语法转载自这篇文章delimiter//一般情况下MYSQL以;结尾表示确认输入并执行语句,但在存储过程中;不是表示结束,因此可以用该命令将;号改为//表示确认输入并执行。一.创建存储过程1.基本语法:createproceduresp_name()begin………end2.参数传递二.调用存储过程1.基本语法:ca…

    2022年7月17日
  • Excel VBA宏编程入门(五)——用户交互[通俗易懂]

    Excel VBA宏编程入门(五)——用户交互[通俗易懂]目录任务介绍选择文件夹选择文件保存路径交互选择一列交互选择一行任务介绍VBA编程中,为了程序的灵活性,有时候需要用到用户交互操作,例如让用户选择一个文件夹,用户选择一个单元格等等。本文将介绍一些常用的用户交互操作的实现选择文件夹St=Application.FileDialog(msoFileDialogFolderPicker).Show’如果选择了文件夹就返回-1,不选择文件夹就返回0IfSt<>0ThenfileDir=Application.File

    2022年6月2日
  • 自动生成测试用例_测试用例设计的完整过程

    自动生成测试用例_测试用例设计的完整过程前言写用例之前,我们应该熟悉API的详细信息。建议使用抓包工具Charles或AnyProxy进行抓包。har2case我们先来了解一下另一个项目har2case他的工作原理就是将当前主流的抓

    2022年7月28日
  • 逢七过小游戏「建议收藏」

    逢七过小游戏「建议收藏」exercise逢七过的游戏逢七过的游戏。(1-100)游戏规则:123….6过8910111213过1516过1819……遇到7的倍数或者个位数上是7

    2022年8月6日
  • 神奇的罗斯.布朗_罗曼·格罗斯让

    神奇的罗斯.布朗_罗曼·格罗斯让这是一篇赞美罗斯.布朗和他的车队布朗GP的文章未完,抽时间写作中……转载于:https://www.cnblogs.com/yuuhhe/archive/2009/03/30/1425074.html

    2022年9月30日
  • 匈牙利命名法

    匈牙利命名法

    2021年12月13日

发表回复

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

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