Maybe there is a better way. But the brain is not working well when low on fuel.create function dbo.search( @search char(4))returns tableasreturn( select substring(@search, n1, 1) + substring(@search, n2, 1) + substring(@search, n3, 1) + substring(@search, n4, 1) as search from ( select a.n as n1, b.n as n2, c.n as n3, d.n as n4 from ( select 1 as n union all select 2 as n union all select 3 as n union all select 4 ) a inner join ( select 1 as n union all select 2 as n union all select 3 as n union all select 4 ) b on a.n <> b.n inner join ( select 1 as n union all select 2 as n union all select 3 as n union all select 4 ) c on a.n <> c.n and b.n <> c.n inner join ( select 1 as n union all select 2 as n union all select 3 as n union all select 4 ) d on a.n <> d.n and b.n <> d.n and c.n <> d.n ) num)-- select * from dbo.search('1234')
declare @tableA table( fieldA char(4))declare @search char(4)select @search = '1234'insert into @tableAselect '1234' union allselect '2134' union allselect '4321' union allselect '3421' union allselect '2345'select * from @tableA a where fieldA in (select search from dbo.search(@search))
KH