一:问题及原图
问题:查询某一列(字符串,逗号隔开)是否包含某个值。
实际生产中问题:查询部门权限
二、Mysql的解决办法——FIND_IN_SET函数
SQL语句:
SELECT dept_id FROM sys_dept WHERE FIND_IN_SET (211, ancestors)
查询结果:
三、SqlServer的解决办法——charindex函数
SQL语句:
SELECT dept_id FROM sys_dept WHERE 1=1 and charindex (',' + CONVERT (VARCHAR, 211), ',' + ancestors) > 0
#简洁写法
SELECT dept_id FROM sys_dept WHERE CHARINDEX('211', ancestors) > 0
查询结果: