sql 循环和rand
declare @i int
declare @add_time int
set @i=1
while @i<=12
begin
set @add_time=180+(rand()*(10-1)+1)
insert into news(name,content,posttime,sort) values(@add_time,'666',dateadd(MM,@add_time,getdate()),@i)
set @i=@i+1
end
select * from news
DECLARE @counter smallint
SET @counter = 1
WHILE @counter < 5
BEGIN
SELECT RAND(@counter) Random_Number
--SET NOCOUNT ON
SET @counter = @counter + 1
--SET NOCOUNT OFF
END
GO
select rand() a
输出:
====================================
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 1 行)
id name content posttime sort
----------- -------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------ -----------
1 NULL 666 NULL 1
2 NULL 666 NULL 2
3 NULL 666 NULL 3
4 NULL 666 NULL 4
5 NULL 666 NULL 5
6 NULL 666 NULL 6
7 NULL 666 NULL 7
8 NULL 666 NULL 8
9 NULL 666 NULL 9
10 NULL 666 NULL 10
11 NULL 666 NULL 11
12 NULL 666 NULL 12
13 2 666 2009-09-02 13:04:34.263 1
14 1 666 2009-09-02 13:04:33.263 2
15 6 666 2009-09-02 13:04:38.263 3
16 3 666 2009-09-02 13:04:35.263 4
17 9 666 2009-09-02 13:04:41.263 5
18 9 666 2009-09-02 13:04:41.263 6
19 9 666 2009-09-02 13:04:41.263 7
20 9 666 2009-09-02 13:04:41.263 8
21 1 666 2009-09-02 13:04:33.263 9
22 6 666 2009-09-02 13:04:38.263 10
23 9 666 2009-09-02 13:04:41.263 11
24 3 666 2009-09-02 13:04:35.263 12
25 5 666 2010-02-02 13:07:05.000 1
26 5 666 2010-02-02 13:07:05.000 2
27 6 666 2010-03-02 13:07:05.000 3
28 5 666 2010-02-02 13:07:05.000 4
29 7 666 2010-04-02 13:07:05.000 5
30 4 666 2010-01-02 13:07:05.000 6
31 4 666 2010-01-02 13:07:05.000 7
32 5 666 2010-02-02 13:07:05.000 8
33 9 666 2010-06-02 13:07:05.000 9
34 2 666 2009-11-02 13:07:05.000 10
35 5 666 2010-02-02 13:07:05.000 11
36 4 666 2010-01-02 13:07:05.000 12
37 7 666 2010-04-02 13:10:00.170 1
38 7 666 2010-04-02 13:10:00.170 2
39 7 666 2010-04-02 13:10:00.170 3
40 7 666 2010-04-02 13:10:00.170 4
41 7 666 2010-04-02 13:10:00.170 5
42 7 666 2010-04-02 13:10:00.170 6
43 7 666 2010-04-02 13:10:00.170 7
44 7 666 2010-04-02 13:10:00.170 8
45 7 666 2010-04-02 13:10:00.170 9
46 7 666 2010-04-02 13:10:00.170 10
47 7 666 2010-04-02 13:10:00.170 11
48 7 666 2010-04-02 13:10:00.170 12
49 183 666 2024-12-02 13:15:00.327 1
50 181 666 2024-10-02 13:15:00.327 2
51 183 666 2024-12-02 13:15:00.327 3
52 181 666 2024-10-02 13:15:00.327 4
53 183 666 2024-12-02 13:15:00.327 5
54 188 666 2025-05-02 13:15:00.327 6
55 184 666 2025-01-02 13:15:00.327 7
56 186 666 2025-03-02 13:15:00.327 8
57 187 666 2025-04-02 13:15:00.327 9
58 183 666 2024-12-02 13:15:00.327 10
59 182 666 2024-11-02 13:15:00.327 11
60 188 666 2025-05-02 13:15:00.327 12
61 182 666 2024-11-02 13:22:46.793 1
62 183 666 2024-12-02 13:22:46.793 2
63 184 666 2025-01-02 13:22:46.793 3
64 184 666 2025-01-02 13:22:46.793 4
65 181 666 2024-10-02 13:22:46.793 5
66 184 666 2025-01-02 13:22:46.793 6
67 188 666 2025-05-02 13:22:46.793 7
68 188 666 2025-05-02 13:22:46.793 8
69 183 666 2024-12-02 13:22:46.793 9
70 185 666 2025-02-02 13:22:46.793 10
71 185 666 2025-02-02 13:22:46.793 11
72 186 666 2025-03-02 13:22:46.793 12
(所影响的行数为 72 行)
================================
Random_Number
-----------------------------------------------------
0.71359199321292355
(所影响的行数为 1 行)
Random_Number
-----------------------------------------------------
0.7136106261841817
(所影响的行数为 1 行)
Random_Number
-----------------------------------------------------
0.71362925915543995
(所影响的行数为 1 行)
Random_Number
-----------------------------------------------------
0.7136478921266981
(所影响的行数为 1 行)
=======================================
a
-----------------------------------------------------
0.7089805754360563
(所影响的行数为 1 行)