【发布时间】:2016-11-20 19:53:02
【问题描述】:
我想创建 100 个随机卡号。我对这 100 行有一段时间,对随机数有一段内部时间。 使用此代码,我可以创建随机数,但 100 行始终具有相同的数字,我希望每一行都有一个新数字。
Create Table #Nr_Cartao
(valor varchar(20) not null)
declare @NrCartao varchar(20);
declare @NrCartao16Digitos varchar(20);
declare @counter int;
declare @random int;
declare @Nr_iterações int;
declare @digitos int;
set @Nr_iterações = 100;
set @NrCartao9Digitos = '';
set @NrCartao = '';
set @counter = 0;
set @digitos = 1
While @counter < @Nr_iterações
begin
While @digitos <= 16
Begin
set @random = rand()*10
set @NrCartao = @NrCartao + '' + CONVERT(varchar(20), @random)
if (@digitos % 4) = 0 and @digitos < 16
set @NrCartao = @NrCartao + '-'
set @digitos= @digitos +1
end;
set @NrCartao16Digitos = @NrCartao;
set @counter = @counter + 1;
insert into #Nr_Cartao values( @NrCartao16Digitos);
end
select *
from #Nr_Cartao
go;
你能帮忙吗?
【问题讨论】:
标签: sql-server tsql random while-loop