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

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

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


相关推荐

  • DropDownList的AppendDataBoundItems属性

    DropDownList的AppendDataBoundItems属性在ASP.NET 2.0中,可以在数据绑定时,通过设置DropDownList的AppendDataBoundItems属性为true,在数据绑定之前添加一个新的项目,并且这个新加的项目会保存在ViewState之中。下面就是一个实现的例子:    protected void Page_Load(object sender, EventArgs e)    …{        if 

    2022年10月16日
    0
  • 【剑指Offer学习】【面试题19 :二叉树的镜像】[通俗易懂]

    【剑指Offer学习】【面试题19 :二叉树的镜像】

    2022年2月3日
    43
  • 机器学习十大经典算法入门[通俗易懂]

    机器学习十大经典算法入门[通俗易懂]一,SVM(SupportVectorMachine)支持向量机a.SVM算法是介于简单算法和神经网络之间的最好的算法。b.只通过几个支持向量就确定了超平面,说明它不在乎细枝末节,所以不容易过拟合,但不能确保一定不会过拟合。可以处理复杂的非线性问题。c.高斯核函数d.缺点:计算量大二,决策树(有监督算法,概率算法)…

    2022年6月3日
    36
  • PR曲线和ROC曲线概念及其区别

    PR曲线和ROC曲线概念及其区别将测试样本的预测结果按照置信度排序,由高到低,卡个阈值作为正负样本的判定依据,阈值较高时,Precision比较大,阈值较低时,Recall较大。(推荐的话,想Precision较大,用户希望排名靠前的推荐是自己想要的,刑侦的话希望Recall较大,不错过一个犯人)知识点Precision=TP/(TP+FP)Recall=TP/(总的正样本)=TP/(TP+FN)#这个时候的TP…

    2022年6月15日
    32
  • wordpress博客添加新浪微博挂件

    wordpress博客添加新浪微博挂件我一直想着把我的新浪微博嵌入到博客中,今天抽空到网上搜索了一下相关的插件,没有找到。后来看到了一篇如何把微博嵌入WordPress博客的方法,终于实现成功了。感谢分享这些的朋友们。一直想着把我的新浪微博嵌入到博客中,今天终于等来了这个功能的实现。想让你的博客读者顺带看看你的微博吗?新浪微博现在可以嵌入到多种博客之中了,这篇讲讲如何在w…

    2022年7月13日
    13
  • 长亮科技中报业绩_2018年年报汇总

    长亮科技中报业绩_2018年年报汇总长亮科技发布2018年报:营收首破十亿元,直面蚂蚁金服竞争压力

    2022年4月21日
    43

发表回复

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

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