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语句 模板

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

你可能感兴趣的:(#,mysql专项,mysql,sql,数据库,spring,boot,mybatis)