龙岩易富通网络科技有限公司

龙岩小程序开发,龙岩分销系统

MySQL中concat以及group_concat连接一个或多个字符串使用

2020.08.29 | 1675阅读 | 0条评论 | 数据库

一、concat()函数

1、mysql的Concat函数可以连接一个或多个字符串

select concat('10');//10

select concat('11','22','33');//112233

但是Oracle的concat函数只能连接两个字符串,不能多也不能少

select concat('11','22') from dual;


thinkphp的写法:

$map ['CONCAT(",", cate_id, ",")'] = array ('like',"%,$cate_id,%" );


2、mysql的Concat函数再连接字符串的时候,只要其中一个是null,南无返回就是null

select concat('11','22',null);//null

而Oracle的concat函数连接的时候,只要有一个字符串不是NULL,就不会返回NULL

select concat('11',NULL) from dual;//11


二、concat_ws()函数

表示concat with separator,即有分隔符的字符串连接

select concat_ws(',','11','22','33');//11,22,33

select concat_ws('|','11','22','33');//11|22|33

select concat_ws('*','11','22',NULL);//11*22

和concat不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL


三、group_concat()

*必须将group by按照什么东西排序,也打印出来;否则函数不起作用

1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )

说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。


四、使用方法

TP5:return db ( '表名' )->where ( $map )->field ( 'GROUP_CONCAT(mode_name) as mode_name' )->find ();

赞 (

发表评论