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


相关推荐

  • STM32的IWDG(独立看门狗)详细用法

    STM32的IWDG(独立看门狗)详细用法文章出处:https://www.cnblogs.com/Liu-Jing/p/7243029.html章参考资料:《STM32F4XX中文参考手册》IWDG章节。1、IWDG简介:  STM32有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬,本章我们主要分析独立看门狗的功能框图和它的应用。独立看门狗用通俗一点的话来解释就是一个12位的递减计…

    2022年6月14日
    29
  • WPF中ListBox的WrapPanel布局「建议收藏」

    WPF中ListBox的WrapPanel布局「建议收藏」WPF中ListBox的WrapPanel布局,如果排出来是纵向列表,原因是Theme错了。

    2022年7月23日
    29
  • 我是如何利用“王宝强离婚”事件来吸粉的

    我是如何利用“王宝强离婚”事件来吸粉的

    2021年9月17日
    40
  • OpenStack开发_软件架构与应用开发实践报告

    OpenStack开发_软件架构与应用开发实践报告一起研究系列:OpenStack架构分析与实践

    2022年4月21日
    46
  • 银行软件测试面试问题_银行外包软件测试如何

    银行软件测试面试问题_银行外包软件测试如何今天参加了一场比较正式的面试,汇丰银行的视频面试。在这里把面试的流程记录一下,结果还不确定,但是面试也是自我学习和成长的过程,所以记录下来大家也可以互相探讨一下。 请你做一下自我介绍?(汇丰要求英文的自我介绍) 使用什么工具来管理项目? 测试用例是怎么管理的?测试用例的协作、更改、不同的版本是怎么管理的? 描述一下最近做的项目,具体做了什么?测试哪些方面?负责什么功能? 对项目中某个功能设计测试用例的时候使用了哪些方法?写了多少条用例? 设计测试用例是

    2022年8月27日
    7
  • Object到int的转换问题

    怎么把一个Object对象转成一个int型的数据,其实这个Object对象里存的是数字!             强制转换不好使!Objectobj=3;  inti=(int)obj;   ——有问题。 解决方法      Integer.parseInt(obj.toString);

    2022年4月5日
    55

发表回复

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

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