mysql中拼接函数用法
在查询数据时,通常会对数据进行处理,这里说一下拼接处理,当然可以通过Java代码进行处理,但是我这里要说的是通过sql处理;下面说一下具体有哪些方式
方式一:concat函数
1.如果是某个字段拼接固定值时,concat(column1,'xxx'...) as column1 返回值123xxx
2.多个字段拼接时,concat(column1,column2...) as key 返回值123456
3.使用特定符号拼接时,这就是第二种方式了
注意:当多个字段拼接时,如果有某个字段值为null,那么拼接结果为null
方式二:concat_ws函数
concat_ws函数主要是concat函数扩展形式,可以指定拼接符号,contcat_ws(separator,str1,str2,...)
例如:使用_拼接各个字段值,concat_ws('_',column1,column2,...) 返回值 123_456
方式三:group_concat函数
从字面理解这个函数,其实就是组内拼接,所以要和group by 分组函数联合使用了
eg:按照名称分组,拼接id
name id
小明 1
小张 2
小明 3
sql:select name,group_concat(id) as id from table (where 语句) group by name
返回结果:name id
小明 1,3
小张 2
扩展形式语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号
下一篇: iOS大型项目开发漫谈