首页 > 代码库 > SQL 查询使用int去查询nvarchar字段

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

 
如下 使用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字段