declare @ls_username varchar(255) select @ls_username = username+ ',' from info where + 学则某条记录的条件 select * from users where charindex(username,userid+ ',') > 0
select * from users where charindex(@ls_username ,userid+ ',') > 0 写错了不好意思
declare @ls_username varchar(255) select @ls_username = ','+'张三,李四,王二麻子'+','select * from users where charindex(','+username+',',@ls_username ) > 0
楼上的应该实现了 double22822(大无忧-老实和尚(有事发消息)) 的写反了好象
if exists(select * from sysobjects where name = 'tablea') drop table tablea create table tablea(userid nvarchar(30),xxx nvarchar(10),x nvarchar(10)) insert into tablea values('san,wang,er,an,ee,sss,','xxx','x') if exists(select * from sysobjects where name = 'tableb') drop table tableb select * into tableb from tablea where 0=1 declare @i int,@pre int,@userid varchar(30),@useridtmp varchar(30) declare detail cursor for select userid from tablea open detail fetch next from detail into @userid while @@fetch_status=0 begin set @i = 1 set @pre = 1 set @useridtmp = '' while @i<=len(@userid) begin if substring(@userid,@i,1) = ',' begin set @useridtmp = '' set @useridtmp = @useridtmp+substring(@userid,@pre,@i-@pre) insert into tableb select @useridtmp,xxx,x from tablea where userid = @userid set @pre = @i+1 end set @i = @i+1 end fetch next from detail into @userid end close detail deallocate detailselect * from tableb
select @ls_username = username+ ',' from info where + 学则某条记录的条件
select * from users where charindex(username,userid+ ',') > 0
写错了不好意思
select @ls_username = ','+'张三,李四,王二麻子'+','select * from users where charindex(','+username+',',@ls_username ) > 0
double22822(大无忧-老实和尚(有事发消息)) 的写反了好象
create table tablea(userid nvarchar(30),xxx nvarchar(10),x nvarchar(10))
insert into tablea values('san,wang,er,an,ee,sss,','xxx','x')
if exists(select * from sysobjects where name = 'tableb') drop table tableb
select * into tableb from tablea where 0=1
declare @i int,@pre int,@userid varchar(30),@useridtmp varchar(30)
declare detail cursor for select userid from tablea
open detail
fetch next from detail into @userid
while @@fetch_status=0
begin
set @i = 1
set @pre = 1
set @useridtmp = ''
while @i<=len(@userid)
begin if substring(@userid,@i,1) = ','
begin
set @useridtmp = ''
set @useridtmp = @useridtmp+substring(@userid,@pre,@i-@pre)
insert into tableb
select @useridtmp,xxx,x from tablea where userid = @userid
set @pre = @i+1
end
set @i = @i+1
end
fetch next from detail into @userid
end
close detail
deallocate detailselect * from tableb