mysql 字符串拼接,你知道几种方式?
第一种:
mysql自带语法CONCAT(string1,string2,...),此处是直接把string1和string2等等的字符串拼接起来(无缝拼接哦)
说明:此方法在拼接的时候如果有一个值为NULL,则返回NULL
如:1.
SELECT CONCAT("name=","lich",NULL) AS test;
2.
SELECT CONCAT("name=","lich") AS test;
第二种:
第二种也是mysql自带语法CONCAT_WS(separator,string1,string2,...),但是可以多个字符串用指定的字符串进行拼接(带缝拼接哦)
说明:string1,string2代表的是字符串,而separator代表的是连接其他参数的分隔符,可以是符号,也可以是字符串。如果分隔符为NULL,则结果为NULL。此方法参数可以为NULL。
如:1.
select concat_ws('#','name=','lich',null) AS test;
2.
select concat_ws(NULL,'name=','lich',null) AS test;
3.
select concat_ws("hello,",'name=','lich',null) AS test;
第三种:
也是mysql的自带语法GROUP_CONCAT([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
如:
1.
SELECT id,GROUP_CONCAT(type) FROM log_sys_interview GROUP BY type ;
2.
SELECT id,GROUP_CONCAT(type Separator '#') FROM log_sys_interview GROUP BY type ;
3.
SELECT id,GROUP_CONCAT(type ORDER BY type DESC) FROM log_sys_interview GROUP BY ip ;
4.
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 ;