MySQL连接字符串函数CONCAT,CONCAT_WS,GROUP_CONCAT使用总结

在Mysql中两个字符串相加不能用+号,加号是用来做数字相加的,在mysql中要连接字符串需要用CONCAT或者CONCAT_WS函数:

Mysql CONCAT函数

语法:

CONCAT(str1,str2...)

例如:

select OCNCAT(‘AB‘,‘CD‘)

将输出ABCD

需要注意的是:

SELECT CONCAT(‘abc‘,NULL)其中有一个字符串为NULL时将输出NULL

Mysql 的CONCAT_WS函数

的CONCAT_WS函数()函数, 表示concat with separator,即有分隔符的字符串连接

select concat_ws(‘,‘,‘11‘,‘22‘,‘33‘);

输出:

11,22,33

需注意concat_ws的参数中有null的话,并非都返回null,例如concat_ws(‘,‘,‘ab‘,NULL)将输出ab

Mysql的GROUP_CONCAT()函数

从名字可以看出这个函数是一个聚合函数,在group语句中使用,可以将多行的字符串按分组整合成一个字符串。

语法:

GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr}
             [ASC | DESC] [,col_name ...]][SEPARATOR str_val])

假定:有一张表是UserRole存储User对应Role关系,其有两列userId,RoleCode,我们可以通过GROUP_CONCAT来取出用逗号分隔的用户角色

select userId,GROUP_CONCAT(RoleCode SEPARATOR  ‘,‘) from UserRole

需要注意,GROUP_CONCAT函数默认的最大可连接字符串的长度是1024,如果连接的字符串长度超过1024的话会被截断,不过我们可以通过设置group_concat_max_len的值来修改GROUP_CONCAT的最大长度。

例如:

SET SESSION group_concat_max_len= 99999;select userId,GROUP_CONCAT(RoleCode SEPARATOR  ‘,‘)
 from UserRole
时间: 2024-08-08 21:31:54

MySQL连接字符串函数CONCAT,CONCAT_WS,GROUP_CONCAT使用总结的相关文章

MySQL的字符串连接函数CONCAT, CONCAT_WS,GROUP_CONTACT

本文转载自de.cel<MySQL的字符串连接函数CONCAT, CONCAT_WS,GROUP_CONCAT> 在搜索Mysql中怎么实现把一列的多行数据合并成一行时,找到了group_contact函数,它比SqlServer中的select @[email protected]+列名 from 表名,的形式方便了许多,在此把字符串连接函数小小的总结一下. CONCAT(str1, str2,...): 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL.

mysql之concat concat_ws group_concat

concat.concat_ws.group_concat都可以用来连接字符串. concat和concat_ws用来连接同一行中不同列的数据,group_ws用来连接同一列的数据. 格式如下: concat(str1, str2, ...) concat_ws(seperator, str1, str2, ...) group_concat([distinct] 列名  [order by 列名 desc/asc] [separator 分隔符]) 原文地址:https://www.cnblo

mysql的字符串函数

From: http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/12/13/1904330.html 对于针对字符串位置的操作,第一个位置被标记为1. 1.ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 mysql

Mysql处理字符串函数(转)

http://www.jb51.net/article/27458.htm 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2.从右开始截取字符串 right(str, length) 说明:right(

MySQL中函数CONCAT及GROUP_CONCAT

一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name   |+----+--------+|  1 | BioCyc |+----+--------+1.语法及使用特点:CONCAT(str1,str2,-)                       返回结果为连接参数产生的字符串.如有任何一个参数为NULL

MySQL中函数CONCAT及GROUP_CONCAT(aggregate)

一.CONCAT()函数 CONCAT()函数用于将多个字符串连接成一个字符串. 使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为 +----+--------+ | id | name   | +----+--------+ |  1| BioCyc | +----+--------+ 1.语法及使用特点: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL.可

MYSQL_连接字符串函数

1.concat ()函数 1.1 MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select concat('10'); +--------------+ | concat('10') | +--------------+ | 10 | +--------------+ 1 row in set (0.00 sec) mysql> select concat('11','22','33'); +------------------------+ | concat(

MySQL连接字符串

select * from tablename where mydata like CONCAT(CURDATE(), '%') limit 3 这里concat是字符串拼接, concat('mys', 'q', 'l')    ->  mysql CURDATE()是日期不算时间 2015-05-13

MySQL concat concat_ws group_concat 函数(连接字符串)

CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. mysql> select concat('11','22','33'); +------------------------+ | concat('11','22','33') | +------------------------+ | 112233 | +------------------------+ mysql> select concat_ws(',','