MySQL之字符串拼接[通俗易懂]

MySQL之字符串拼接[通俗易懂]MySQL字符串拼接及分组字符串拼接涉及:concat,concat_ws,group_concat数据准备:CREATETABLE`app`(`app_id`intDEFAULT’0′,`version_code`intDEFAULT’0′,`download_count`intDEFAULT’0′)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci;INSER..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

涉及方法:concat, concat_ws, group_concat

数据准备:

CREATE TABLE `app` (
  `app_id` int DEFAULT '0',
  `version_code` int DEFAULT '0',
  `download_count` int DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (1, 10, 90);
INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (1, 11, 100);
INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (1, 10, 20);
INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (2, 15, 10);
INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (2, 16, 15);
INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (2, 17, 30);
INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (2, 16, 5);
INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (3, 2, 50);
INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (4, 9, NULL);

MySQL之字符串拼接[通俗易懂]

一、concat()

  1. 功能:将多个字符串连接成一个字符串
  2. 语法:concat(str1, str2, …)
  3. 说明:返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null
select concat (app_id, ',', version_code, ',', download_count) as info from app;

 MySQL之字符串拼接[通俗易懂]

二、concat_ws()

  1. 功能:concat with separator,和concat()一样,但可以一次性指定分隔符将多个字符串连接成一个字符串
  2. 语法:concat_ws(separator, str1, str2, …)
  3. 说明:separator指定分隔符
select concat_ws (',', app_id, version_code, download_count) as info from app;

 MySQL之字符串拼接[通俗易懂]

三、group_concat()

  1.  功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果
  2.  语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc] [separator ‘分隔符’] );group_concat(expr)
  3.  说明:distinct排除重复值,order by子句对结果集进行排序,separator指定分隔符,缺省为逗号;expr为表达式
select app_id, 
group_concat(distinct version_code ORDER BY version_code separator '-') as res1, 
group_concat(concat_ws('-', version_code, download_count)) as res2
from app group by app_id;

MySQL之字符串拼接[通俗易懂]

注意点:

  1. 有字段值为null时concat和concat_ws拼接后的结果有所不同,结果图中红框圈注
  2. concat_ws第一个参数(指定分隔符)若为null,返回结果为null
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187531.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

  • Oracle 安装 与 卸载 以及 使用 plsqldev

    Oracle 安装 与 卸载 以及 使用 plsqldev一、Oracle服务器安装1、下载安装包  压缩包有两个,一定要一起解压,将两个文件解压到同一目录下会生成文件夹直接运行安装即可2、安装参考地址http://www.cnblogs.com/sekai/articles/5493234.html***注意:数据库安装

  • Dubbo架构(应用架构)

    一、整体框架1、Dubbo介绍ApacheDubbo是一款高性能、轻量级的开源JavaRPC框架。它有三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。1、Dubbo特点1、面向接口代理的高性能RPC调用:提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节。2、智能负载均衡:内置多种负载均衡策略,智能感知下游节点健康状…

  • md文件编辑_第三方编辑器

    md文件编辑_第三方编辑器学长让我写博客学习c语言,写了几篇,但是总觉得文章界面不好看,然后找到一些资料,那就开始新的界面吧!开始你的MD编辑器吧!!(妈的编辑器)复制,直接应用>块引用@[TOC]#二.使用步骤##1.引入库##2.读入数据点一下蓝色的字,到相应的文章段<fontcolor=red>关注</font>这是设置字体颜色,和范围,“`cimportnumpyasnpimportp…

  • vs 2013 未能正确加载 Mircosoft Vistual Studio Tools for Application 2013 ….包

    vs 2013 未能正确加载 Mircosoft Vistual Studio Tools for Application 2013 ….包打开vs快捷菜单所在的文件夹可以看到

  • SpringBoot 使用 @Transactional 注解配置事务[通俗易懂]

    SpringBoot项目中需要配置事务管理,所以在这里系统地整理下关于@Transactional注解相关的知识!1、详细介绍事务管理是应用系统开发中必不可少的一部分。Spring为事务管理提供了丰富的功能支持。Spring事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代…

  • 京东商城购物体验报告_京东如何运用大数据

    京东商城购物体验报告_京东如何运用大数据京东购物在微信等场景下的算法应用实践

发表回复

您的电子邮箱地址不会被公开。

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