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)


相关推荐

发表回复

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

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