0

在 SQL Server 中,使用此代码创建具有相同值的两个 GUID 的概率是多少?

DECLARE @EmployeeID UNIQUEIDENTIFIER;
SET @EmployeeID = NEWID();
4

1 回答 1

2

基本上,GUID 是一个 128 位的数字,有 6 个信息位和 122 个随机位。所以概率是 1/(2 122 ),其中 2 122 = 5.31 * 10 36

这是我另一个答案的引文:

根据本文档 ( RFC 4122 ) 并与 C# 生成的 GUID 相比,它们是随机类型的。

此类型具有以下模式:xxxxxxxx-xxxx-4xxx-Vxxx-xxxxxxxxxxxx, 其中

  • x是随机数并且
  • V是位布局为 10yy 的数字,其中 yy 是两个随机位。

所以,这里我们有 128 个随机位中的 122 个。

于 2013-09-18T09:42:42.670 回答