mysql通过分隔符‘|‘精准匹配

数据库权限表db_auth
mysql通过分隔符‘|‘精准匹配_第1张图片

1、目的

获取zhangsan拥有的db_name

2、问题

不能使用like,需要精准匹配

3、解决

可以使用mysql自带的FIND_IN_SET函数
在这里插入图片描述

sql:
select db_name from db_auth where FIND_IN_SET('zhangsan',REPLACE(auth_user,'|',','))

4、自测

mysql通过分隔符‘|‘精准匹配_第2张图片

其他分隔符同理,逗号比较简单,直接使用FIND_IN_SET函数即可

SELECT * FROM db_auth WHERE FIND_IN_SET('zhangsan',auth_user);

你可能感兴趣的:(mysql,数据库,sql)