请问关于随机函数

街角咖啡 2007-04-07 10:00:44
关于随机函数Rand(),既然在不指定种子的情况下系统将生成它自己的不定种子值。那么为什么我们还需通过给定种子的方式来获取随机数呢?不是很明白,请指教...
...全文
239 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rookie_one 2007-04-08
  • 打赏
  • 举报
回复
不使用种子的话,在一次查询时候会出现一样
街角咖啡 2007-04-08
  • 打赏
  • 举报
回复
理解了,谢谢大家!
OracleRoob 2007-04-07
  • 打赏
  • 举报
回复
create table #t(id int)

insert into #t select 1
insert into #t select 2
insert into #t select 3
insert into #t select 4
insert into #t select 5


--这种情况,你可以看到是否需要使用种子,而且使用种子时,让种子之间的差距足够大
--如果不使用种子,虽然ID不同,但是每行记录的随即数都相同

select id,Rand() as 随机数1, rand(id*100000) as 随机数2
from #t

drop table #t
街角咖啡 2007-04-07
  • 打赏
  • 举报
回复
那么请问在那种情况下会需要用到指定种子呢?
OracleRoob 2007-04-07
  • 打赏
  • 举报
回复
不需要指定种子。
dawugui 2007-04-07
  • 打赏
  • 举报
回复
RAND
返回 0 到1 之间的随机float 值。

如果需要0到100的整数咋办?

select cast(rand() * 100 as int) as '0-100之间的整数'


/*
0-100之间的整数
-----------
39

(所影响的行数为 1 行)
*/
wangdehao 2007-04-07
  • 打赏
  • 举报
回复
那么为什么我们还需通过给定种子的方式来获取随机数呢?
---
不指定吧

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧