SqlFunc函数能否增加一个精准查询 返回

C#论坛 老数据
2 1925
该叫什么 001 发布于2020/10/23
悬赏:5 飞吻

比如一个表,limits表示用户拥有的权限,现在要查询权限编号为2的用户

+----+-------+---------+
| id | name | limits | 
+----+-------+---------+
| 1 |  Dany | 1,2,5  | 
| 2 | Henry| 1,11,5 |
| 3 | John | 2,12,34 | 
| 4 | Susan| 22,24,32| 
+----+-------+---------+

如果用like查询,SELECT * FROM users WHERE limits LIKE '%2%',id为1,3,4的都会查出来,这显然是不对的

MYSQL里的解决方案是用find_in_set()函数,如 SELECT * FROM users WHERE FIND_IN_SET(2,limits),就可以完美查询出来想要的结果

其他数据库尚未找到解决方案,但有一个思路不知道是否可行

1、把查询字段首尾加上逗号(如 1,2,5 变成  ,1,2,5, )

2、用 like  % ,2, % 查询


如果技术上可行,作者大大可以搞个精准函数

热忱回答2