mssql sqlserver 使用sql脚本快速生成1000个不重复的随机数的方法分享


摘要:
下文讲述生成1000个随机的纯数字的随机数的方法分享,如下所示:
实验环境:sqlserver 2012


实现思路:
使用while循环和rand、floor函数,然后使用cast将数字转换为整型

    DECLARE @i INT=0;--循环起始变量
    DECLARE @j INT; ---临时数存放变量

    DECLARE @qty INT=1000; --所需随机数数量

   SET NOCOUNT ON
   
   declare @tmp table(numberInfo int)--随机数存放表
    WHILE(@i<@qty )
    BEGIN
      SELECT @j = cast( floor(rand()*(99999999-10000000)+10000000) as int) 

      ---随机数是否已存在判断
      IF(NOT EXISTS(SELECT null  FROM @tmp WHERE numberInfo=@j ))
      BEGIN
        INSERT INTO  @tmp (numberInfo) VALUES (@j)
        SET @i+=1;
      END

    END

    ---数据展示
    select numberInfo from @tmp  as t 
 
mssql_sqlserver_随机数生成方法

mssql_sqlserver_随机数生成方法