a/b/c/d都是临时表#t的别名... select distinct top 10 ip=type%255 into #t from syscolumns 从系统表syscolumns里取不重复的10个type除以255的余数[type%255]存进临时表#t,再cross join...
--完善:更随机些 select distinct top 20 ip=type ,c=ascii(substring(cast(newid() as varchar(50)),10,1)) into #t from syscolumnsselect distinct top 10000 ip from ( select ip=ip1+'.'+ip2+'.'+ip3+'.'+ip4 from (select ip1=cast((ip*c)%255 as varchar(3)) from #t) a cross join (select ip2=cast((ip*c)%255 as varchar(3)) from #t) b cross join (select ip3=cast((ip*c)%255 as varchar(3)) from #t) c cross join (select ip4=cast((ip*c)%255 as varchar(3)) from #t) d ) edrop table #t
--写入表insert into ip select distinct top 10000 ip from ( select ip=ip1+'.'+ip2+'.'+ip3+'.'+ip4 …………
select distinct top 10 ip=type%255 into #t from syscolumns
从系统表syscolumns里取不重复的10个type除以255的余数[type%255]存进临时表#t,再cross join...
select distinct top 20 ip=type
,c=ascii(substring(cast(newid() as varchar(50)),10,1))
into #t
from syscolumnsselect distinct top 10000 ip
from (
select ip=ip1+'.'+ip2+'.'+ip3+'.'+ip4
from (select ip1=cast((ip*c)%255 as varchar(3)) from #t) a
cross join (select ip2=cast((ip*c)%255 as varchar(3)) from #t) b
cross join (select ip3=cast((ip*c)%255 as varchar(3)) from #t) c
cross join (select ip4=cast((ip*c)%255 as varchar(3)) from #t) d
) edrop table #t
select distinct top 10000 ip
from (
select ip=ip1+'.'+ip2+'.'+ip3+'.'+ip4
…………