CRYPT_GEN_RANDOM是否给出真正的随机数?

时间:2019-04-28 14:01:13

标签: sql sql-server tsql

此查询是否有可能给出相同的数字?如果是,那么如何使其真正随机?

select ABS(CAST(CRYPT_GEN_RANDOM(8) AS bigint))

1 个答案:

答案 0 :(得分:0)

  

此查询是否有可能给出相同的数字?

是的。但是,您始终可以将值存储在唯一索引中,并在发生冲突时失败或重试。使用64位随机性,您可以生成几百万个值,而发生碰撞的可能性很小。

例如,见

enter image description here https://preshing.com/20110504/hash-collision-probabilities/