mysql判断表里面一个逗号分隔的字符串是否包含单个字符串

需求:查询user表中roleid中有8的用户账号

表数据中每个用户可能有多个角色,所以roleid可能为多个并以逗号隔开的字符串

尝试一

SELECT account, roleid FROM sys_user WHERE roleid = '8'

结果: 只能查询出只有一个角色的用户,同时包含两个角色的用户test查询不出来

 尝试二

SELECT account, roleid FROM sys_user WHERE roleid LIKE '%8%'

结果: 会将含有角色18的用户administrator也给查询处理

尝试三

参考:https://blog.csdn.net/Smile_Miracle/article/details/56008785

SELECT account, roleid FROM sys_user WHERE FIND_IN_SET('8',roleid)

 结果: 完全匹配

猜你喜欢

转载自www.cnblogs.com/cailijuan/p/11724418.html