学而实习之 不亦乐乎

MySQL 字符串拼接的几种方式

2023-11-11 19:29:51

方法一:CONCAT()

MySQL 内置函数 CONCAT(string1,string2,...),此处是直接把 string1 和 string2 等字符串拼接起来。

说明:此方法在拼接的时候如果有一个值为NULL,则返回NULL

如:

SELECT CONCAT("name=","lich",NULL) AS test;
SELECT CONCAT("name=","lich") AS test;

方法二:CONCAT_WS()

MySQL 内置函数 CONCAT_WS(separator,string1,string2,...),但是可以多个字符串用指定的字符串进行拼接。

说明:string1,string2代表的是字符串,而separator代表的是连接其他参数的分隔符,可以是符号,也可以是字符串。如果分隔符为NULL,则结果为NULL。此方法参数可以为NULL。

如:

select concat_ws('#','name=','lich',null) AS test;
select concat_ws(NULL,'name=','lich',null) AS test;
select concat_ws("hello,",'name=','lich',null) AS test;

方法三:GROUP_CONCAT()

MySQL 内置函数 GROUP_CONCAT([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

如:

SELECT id,GROUP_CONCAT(type) FROM log_sys_interview GROUP BY type ;
SELECT id,GROUP_CONCAT(type Separator '#') FROM log_sys_interview GROUP BY type ;
SELECT id,GROUP_CONCAT(type ORDER BY type DESC) FROM log_sys_interview GROUP BY ip ;
SELECT id,GROUP_CONCAT(DISTINCT type ORDER BY type DESC) FROM log_sys_interview GROUP BY ip ;

方法四:运算符

如下:

SELECT id,type FROM log_sys_interview ;
SELECT id,type+99 FROM log_sys_interview ;