引言:
数据库函数的总结(一)
字符串截取、拆分
逗号分割字符串当做 in 的条件
字符串合并(多条数据合并 用'、'分割)
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,
版权归原作者 pingzhuyan 所有, 如有侵权,请联系我们删除。