比如UserID=3,UserRole=‘2,3,13,20’
查询出UserID=UserRole都为3的用户,怎么做到int型UserID和字符串型UserRole关联呢我用了cast(‘%,UserID,%’ as varchar)=‘%,UserRole,%’这样查出来都是null,请问应该怎么写呢
查询出UserID=UserRole都为3的用户,怎么做到int型UserID和字符串型UserRole关联呢我用了cast(‘%,UserID,%’ as varchar)=‘%,UserRole,%’这样查出来都是null,请问应该怎么写呢
(UserID int,UserRole varchar(200))
insert into tt values(3,'2,3,13,20')
insert into tt values(4,'2,3,13,20')
insert into tt values(13,'2,3,13,20')
insert into tt values(44,'2,3,13,20')
select * from tt
where (len(','+UserRole+',')-len(replace((','+UserRole+','),(','+cast(UserID as varchar)+','),'')))>0
select * from tt
where charindex(convert(varchar(max),UserID),UserRole,0)>0
或者
where charindex(','+convert(varchar(10),UserID)+',', ','+UserRole+',')>0