快捷搜索:  汽车  科技

mysql里concat用法:详解MySQL字符串拼接之concat

mysql里concat用法:详解MySQL字符串拼接之concatselect id group_concat(name) from aa group by id;3)以id分组,把name字段的值打印在一行,分号分隔create table t(id int name varchar(10));insert into t values(1 '10') (1 '20') (1 '20') (2 '20') (3 '200') (4 '500');2)以id分组,把name字段的值打印在一行,逗号分隔(默认)  说明:通过使用DISTINCT可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC

概述

今天主要介绍一下mysql的三种字符串连接函数:concat()、concat_ws()、group_concat(),特别是第三个函数,建议大家掌握。


1、CONCAT(string1 string2 …)

string1 string2代表字符串 concat函数在连接字符串的时候,只要其中一个是NULL 那么将返回NULL

mysql里concat用法:详解MySQL字符串拼接之concat(1)


2、CONCAT_WS(separator str1 str2 ...)

string1 string2代表字符串 concat_ws 代表 concat with separator 第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

select concat_ws('#' 'hwb' 'db' null) as t2; select concat_ws(null 'hwb' 'db' null) as t2; select concat_ws('*' 'hwb' 'db' null) as t2;

mysql里concat用法:详解MySQL字符串拼接之concat(2)


3、MySQL中group_concat函数

3.1、语法

  说明:通过使用DISTINCT可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

3.2、实例

1)环境准备

create table t(id int name varchar(10));insert into t values(1 '10') (1 '20') (1 '20') (2 '20') (3 '200') (4 '500');

mysql里concat用法:详解MySQL字符串拼接之concat(3)

2)以id分组,把name字段的值打印在一行,逗号分隔(默认)

select id group_concat(name) from aa group by id;

mysql里concat用法:详解MySQL字符串拼接之concat(4)

3)以id分组,把name字段的值打印在一行,分号分隔

select id group_concat(name separator ';') from t group by id;

mysql里concat用法:详解MySQL字符串拼接之concat(5)

4)以id分组,把去冗余的name字段的值打印在一行,逗号分隔

select id group_concat(distinct name) from t group by id;

mysql里concat用法:详解MySQL字符串拼接之concat(6)

5)以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序

select id group_concat(name order by name desc) from t group by id;

mysql里concat用法:详解MySQL字符串拼接之concat(7)


后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下~

mysql里concat用法:详解MySQL字符串拼接之concat(8)

猜您喜欢: