0

我正在做一个项目。我的要求是我需要生成 16 位卡号和 4 位密码。一旦该人注册,他应该通过邮件获得一个唯一的 16 位数字和密码,并将详细信息与相应的 id 一起存储在数据库中。提前致谢。

4

1 回答 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 回答