总是记不住字符串拼接,每次都要百度去搜索,所以在这里记录一下,好方便后续的查找,如有错误和问题可以提出,谢谢。
字符串拼接分为几种方式,在这里会一一举例写出:
第一种:
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 ;

博主为方便后续查找,记录了MySQL中字符串拼接的几种方式。包括CONCAT无缝拼接,若有值为NULL则返回NULL;CONCAT_WS可指定分隔符进行带缝拼接;GROUP_CONCAT可对字段进行连接,还可排序、去重等;另外还有只对数字有效的运算拼接方式。
1048

被折叠的 条评论
为什么被折叠?



