两个具有相同值的GUID

时间:2013-09-18 09:39:38

标签: sql-server database guid

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

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

1 个答案:

答案 0 :(得分:2)

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

以下是我other answer的引文:

  

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

     

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

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

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