mysql中的concat().concat_ws(),group_concat()
简单建立一个表
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;