加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server:如何将随机整数插入表中?

发布时间:2020-12-12 08:45:09 所属栏目:MsSql教程 来源:网络整理
导读:我有这样的测试表 CREATE TABLE #temp ( rid INT IDENTITY (1,1) NOT NULL,val INT NULL,CONSTRAINT pk_temp_rid PRIMARY KEY (rid)); 在SQL Server中插入随机整数到这个表(例如1000行)的不同方法是什么.而循环,交叉加入还是什么? 我尝试过这个结果是不正确
我有这样的测试表
CREATE TABLE #temp (
    rid INT IDENTITY (1,1) NOT NULL,val INT NULL,CONSTRAINT pk_temp_rid PRIMARY KEY (rid)
);

在SQL Server中插入随机整数到这个表(例如1000行)的不同方法是什么.而循环,交叉加入还是什么?

我尝试过这个结果是不正确的

DECLARE @val AS INT = 1;

WHILE @val <= 1000
    BEGIN
        INSERT #temp (val)
        SELECT RAND(@val);
        SET @val = @val + 1;
    END

SELECT *
FROM   #temp;

解决方法

您可以使用选择CAST(RAND()* 1000000 AS INT)AS [RandomNumber]来生成或选择随机整数.
所以完整的查询将是这样的:
DECLARE @t TABLE( randnum float )
DECLARE @cnt INT; SET @cnt = 0
WHILE @cnt <=10000
BEGIN
SET @cnt = @cnt + 1
INSERT INTO @t
SELECT RAND( (DATEPART(mm,GETDATE()) * 100000 )
+ (DATEPART(ss,GETDATE()) * 1000 )
+ DATEPART(ms,GETDATE()) )
END
SELECT randnum,COUNT(*)
FROM @t
GROUP BY randnum

问候..

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读