我正在开展一个项目。 我的要求是我需要生成16位数的卡号和4位数的密码。一旦该人注册,他应该通过邮件获得一个唯一的16位数字和密码,并将相应的ID存储在数据库中。 提前谢谢。
答案 0 :(得分:0)
放手一搏
DECLARE @CardNr VARCHAR(20), @looper INT, @rand INT, @pin INT;
SET @pin = LEFT(rand()*10000,4);
SET @CardNr = ''
SET @looper = 1
WHILE @looper <= 16
BEGIN
SET @rand = rand()*10
SET @CardNr = @CardNr +'' + CONVERT(VARCHAR(1),@rand)
IF (@looper % 4)=0 AND @looper < 16
SET @CardNr = @CardNr + '-'
SET @looper = @looper + 1
END
SELECT @CardNr CardNr,@pin Pin
您可能还想在使用号码之前进行重复检查。