SqlFunc函数能否增加一个精准查询 返回
C#论坛
老数据
2
1925
悬赏: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)
-
fate stay night VIP0
2020/10/23建议使用自定义函数
0 回复 -
fate stay night VIP0
2020/10/230 回复