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

前端之家收集整理的这篇文章主要介绍了SQL Server:如何将随机整数插入表中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的测试表
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

问候..

猜你在找的MsSQL相关文章