码迷,mamicode.com
首页 > 数据库 > 详细

SQL 查询使用int去查询nvarchar字段

时间:2017-03-04 20:51:12      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:string   str   sel   declare   逗号   print   role   i+1   select   

 
如下 使用2 去查询一个 用逗号分隔开的字段下  有这个id的数据,可以用到数据库的内置函数charindex去查询
select * from Users where charindex(‘,‘+‘2‘+‘,‘,‘,‘+RoleID+‘,‘)>0
 
  列下是  循环得到 数据 字段为逗号分隔的所有数据 放到一个字符串里 
declare @i int
declare @u int
declare @str nvarchar(max)
set @i=1
set @u=(select count(*) from Users)
set @str=‘‘;
while @i<=@u
begin
set @str+=(select RoleID from (select ROW_NUMBER() over (order by id) ‘rowindex‘,* from Users)hh where hh.rowindex = @i)+‘,‘
set @i=@i+1
end
set @str=SUBSTRING(@str,1,len(@str)-1)
print @str
select * from dbo.fn_Split1(@str,‘,‘)
select * from Users where charindex(‘2‘,RoleID)>0

SQL 查询使用int去查询nvarchar字段

标签:string   str   sel   declare   逗号   print   role   i+1   select   

原文地址:http://www.cnblogs.com/xiaojian1/p/6502484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!