mysql之concat函数,concat_ws函数,concat_group函数之间的区别

concat函数

用于将多个字符串连接成一个字符串

语法:CONCAT(str1,str2,…)  

说明:返回结果为连接参数产生的字符串 如果有任何一个参数为NULL 则返回值NULL
举例:将mp_id,mn字段,用()连接起来

**select  CONCAT(mp_id,"(",mn,")") from  dgi**

mysql之concat函数,concat_ws函数,concat_group函数之间的区别

concat_ws函数

参数之间的分隔符,一次性指定分隔符

语法为:concat_ws(separator,str1,str2,...)

说明:第一个参数指定分隔符 分隔符不能为空,如果为NULL 则返回值NULL
举例:
用-连接,mp_id字段内容mn字段内容

select CONCAT_WS("-",mp_id,mn)  from  dgi

mysql之concat函数,concat_ws函数,concat_group函数之间的区别
分隔符为null时,连接结果为null

select  CONCAT_WS(null,mp_id,mn) from  dgi

mysql之concat函数,concat_ws函数,concat_group函数之间的区别

concat_group函数

将分组后同一组的要连接的字段值连接起来

语法:group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )

说明:
举例:按ps_id分组后,然后将同一组的mp_id字段连接起来

select ps_id,mp_id,mn from  dgi   order by ps_id 

mysql之concat函数,concat_ws函数,concat_group函数之间的区别

select ps_id,GROUP_CONCAT(DISTINCT(mp_id) order by ps_id  Separator ';') from  dgi  group by ps_id

mysql之concat函数,concat_ws函数,concat_group函数之间的区别

去掉最后一个字符

方法一: 长度减一就可以了
SQL Server 写法:select left(字段名,len(字段名)-1) from 表名
postgresql写法:select left(字段名,length(字段名)-1) from 表名
mysql写法:select left(字段名,length(字段名)-1) from 表名

上一篇:6.Pandas 合并 concat


下一篇:Oracle连接多个字符串