mysql中的concat().concat_ws(),group_concat()
This_is_Y Lv6

来自之前cnblog的博客
源地址:https://www.cnblogs.com/This-is-Y/p/13491416.html

 简单建立一个表

 

 concat()

用于连接字符串,举个例子

 select concat(id,’-‘,name,’-‘,sex,’-‘) from null_test;

 

 值得注意的是,空字符也算字符(第五条数据),但是如果参数中有null,则整个输出变成null(第三第四条数据);

 

concat_ws()

在数据较少时,用concat()可能不会出现什么问题,但是如果数据量过大,一个一个为其配置分隔符就显得累赘,于是就有了concat_ws(),  CONCAT_WS() 代表 CONCAT With Separator

第一个参数为separator,即分隔符

如果分隔符为NULL,则所有输出都为NULL;

select concat_ws(NULL,id,name,sex) from null_test;

 

如果参数中有null,直接跳过后,正常输出

select concat_ws(‘==’,id,name,sex) from null_test;

 

 

group_concat()

group_concat()像是concat()的加强版,concat()把字符串组合起来,group_concat()把组合后的字符串再组合起来,

select group_concat(id,’-‘,name,’-‘,sex) from null_test;

 

 

这三个都可以用as 来修改列名

举个例子

select concat(id,’==’,name) as id_name,concat(name,’==’,’sex’) as name_sex from null_test;

 

 Comments