34,590
社区成员
发帖
与我相关
我的任务
分享
declare @str1 varchar(1000), @str2 varchar(1000)
set @str1='1,2,4,49'
set @str2='49,1,4,2'
create table #t1(id int)
create table #t2(id int)
set @str1='select '+replace(@str1, ',', ' union all select ')
set @str2='select '+replace(@str2, ',', ' union all select ')
insert #t1
exec(@str1)
insert #t2
exec(@str2)
if exists(
select *
from #t1 as a full join #t2 as b
on a.id=b.id
where a.id is null or b.id is null)
print N'两个字符串不一致'
else
print N'两个字符串一致'
drop table #t1,#t2
declare @STR1 varchar(100)
declare @STR2 varchar(100)
set @STR1='1,2,4,49'
set @STR2='49,1,4,2'
set @STR1=@STR1+','
set @STR2=@STR2+','
select b.col into #temp1
from (select col=convert(xml,'<r><v>'+replace(left(@STR1,len(@STR1)-1),',','</v><v>')+'</v></r>')) a
outer apply (select col=C.v.value('.','nvarchar(10)') from a.col.nodes('/r/v') C(v)) b
select b.col into #temp2
from (select col=convert(xml,'<r><v>'+replace(left(@STR2,len(@STR2)-1),',','</v><v>')+'</v></r>')) a
outer apply (select col=C.v.value('.','nvarchar(10)') from a.col.nodes('/r/v') C(v)) b
if exists(select top 1 0 from #temp1 where col not in(select col from #temp2))
select 0
else
select 1
1