首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

急sql server in 查询有关问题

2012-05-16 
急sql server in 查询问题where 8 in (caid)群众caid是数据库的字段 里面的数据是类似(1,2,4,8,5)是string

急sql server in 查询问题
where 8 in (caid)

群众caid是数据库的字段 里面的数据是类似(1,2,4,8,5)是string型(我这caid是类别的多选保存类别的id)

现在问题是where 8 in (caid)查询不出数据来,但库里面有是8跟前面的8对应
不知道为什么

[解决办法]
外面的8是整形数据,而里面的是字符,对吧?类型不对,转换以后当然不匹配啊。找不到匹配的,当然没有返回结果。
[解决办法]

SQL code
where charindex('8',caid)>0或者where caid like '%8%'
[解决办法]
你传入的string类型被当成一个字符串了,in里面只相当于有一个string类型的值,而不是数字的集合。这样要实现可以用CHARINDEX('8',string) > 0 来实现
[解决办法]
where charindex('8',caid) > 0
[解决办法]
where charindex(',8,',','+caid+',') > 0
[解决办法]
探讨

SQL code

where charindex('8',caid)>0
或者
where caid like '%8%'

[解决办法]
探讨

where charindex('8','1,6,8,3') > 0---------这样可以
where charindex('8',caid)>0----------------这样不可以

为什么啊?

热点排行