where 8 in (caid)
群众caid是数据库的字段 里面的数据是类似(1,2,4,8,5)是string型(我这caid是类别的多选保存类别的id)
现在问题是where 8 in (caid)查询不出数据来,但库里面有是8跟前面的8对应
不知道为什么
外面的8是整形数据,而里面的是字符,对吧?类型不对,转换以后当然不匹配啊。找不到匹配的,当然没有返回结果。where charindex('8',caid)>0
或者
where caid like '%8%'
你传入的string类型被当成一个字符串了,in里面只相当于有一个string类型的值,而不是数字的集合。这样要实现可以用CHARINDEX('8',string) > 0 来实现