我正在做一个项目。我的要求是我需要生成 16 位卡号和 4 位密码。一旦该人注册,他应该通过邮件获得一个唯一的 16 位数字和密码,并将详细信息与相应的 id 一起存储在数据库中。提前致谢。
问问题
1530 次
1 回答
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
您可能还想在使用该号码之前进行重复检查。
于 2013-10-31T08:44:09.837 回答