您的位置:首页 > 编程语言 > ASP

[Asp.net] 随机生成300个不重复的 纯数字8位数

2016-12-09 15:48 302 查看
 

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

--随机生成300个不重复的 纯数字8位数

--注:具体多少是可自定义的 就看你如何去反三

-- =============================================

CREATE PROCEDURE SP_ceshi_random

AS 

    BEGIN

        DECLARE @i INT= 0;

        DECLARE @j INT;

        DECLARE @qnum INT= 300; --生成随机数的数量

        SET NOCOUNT ON

        CREATE TABLE #temp_Table ( num INT )

        WHILE ( @i < @qnum ) 

            BEGIN

                SELECT  @j = CAST(FLOOR(RAND() * ( 99999999 - 10000000 )

                                        + 10000000) AS INT) 

                IF ( NOT EXISTS ( SELECT    num

                                  FROM      #temp_Table

                                  WHERE     num = @j )

                   ) 

                    BEGIN

                        INSERT  #temp_Table

                                ( num )

                        VALUES  ( @j )

                        SET @i += 1; --当生成的数值不是临时表里时,就添加并数据+1;继续循环

                    END

            END

        SELECT DISTINCT

                num

        FROM    #temp_Table

        DROP TABLE #temp_Table

    END

GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息