我有这样的测试表
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
问候..