首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server中RAND函数中的种子是什么

问SQL Server中RAND函数中的种子是什么
EN

Database Administration用户
提问于 2018-09-07 08:59:06
回答 1查看 3K关注 0票数 2

我无法理解在SQL Server的RAND函数中,seed的用途是什么?

我读了下面的链接,但我无法理解它在做什么?

链接1

链接2

链接3

在试验了几个随机种子数后,我发现了以下结果:

代码语言:javascript
复制
Select RAND(1) - 0.713591993212924
Select RAND(2) - 0.713610626184182
Select RAND(3) - 0.71362925915544
Select RAND(4) - 0.713647892126698
Select RAND(5) - 0.713666525097956

每当我提供种子从1到5,我总是得到我前面提到的号码。

为什么是这样?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2018-09-07 09:14:28

Microsoft在详细的这里中解释了这一点:显然,RAND()只在调用它时才返回一个非常随机的结果,而不指定种子值(因为在本例中,种子本身仅被指定为随机值)。

因此,调用不带种子的RAND()应该总是返回不同的值,而调用RAND(seed)时,如果使用相同的种子调用,则始终返回相同的结果。

以下是Microsoft文档的摘录:

参数 是一个整数表达式(tinyint、smallint或int),它提供种子值。如果未指定种子,则Server数据库引擎将随机分配种子值。对于指定的种子值,返回的结果总是相同的。备注重复调用具有相同种子值的RAND()返回相同的结果。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/216986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档