> 文章列表 > Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件

Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件

Mysql(函数) 字符串截取、拆分, 逗号分割字符串当做 in 的条件

目录

 引言: 

数据库函数的总结(一)

1. mysql截取拆分

2. 逗号分割的字符串 作为in条件

-> 2.1 正常的效果应该是 

---> 2.1.1 错误: 

3. 字符串合并(多条数据合并 用'、'分割)


 引言: 

数据库函数的总结(一)

1. 字符串截取、拆分

2. 逗号分割字符串当做 in 的条件

3. 字符串合并(多条数据合并 用'、'分割)

1. mysql截取拆分

函数方法如下: 

SUBSTRING(str FROM pos FOR len)、

SUBSTRING(str FROM pos)、

SUBSTRING(str, pos)、

SUBSTRING(str, pos, len)

 没错 跟java的字符串截取方式一样, 字符串, 开始, 结尾

2. 逗号分割的字符串 作为in条件

 示例:  如图所示

-> 2.1 正常的效果应该是 

select * from 表1 where id in(239,238)

---> 2.1.1 错误: 

select * from 表1 where id in(select inspector from 表2 where id = 1)

结果只显示一条

---> 2.1.2 正确: 

函数: FIND_IN_SET(str,strlist)

 select * from 表1 where FIND_IN_SET(id, (select inspector from 表2 where id = 1));

3. 字符串合并(多条数据合并 用'、'分割)

 GROUP_CONCAT()组合函数

GROUP_CONCAT(DISTINCT user.username SEPARATOR '、' )

-> 3.1 假设用户的字段存 22,23

---> 3.1.1 组合结果: (活动注册3、郭岩)

-> 3.2 sql语句 模板

	(SELECTGROUP_CONCAT( username SEPARATOR '、' ) FROM user WHEREFIND_IN_SET(id,  (	SELECT user_ids	FROM	teacher 	WHERE	id = acqi.id )))as studentName,

服务器安全