3
A
回答
2
通常你会使用它只有一次,但我可能会产生高达每NEWID 10张随机数。它足够随机?
这取决于你如何从newid的提取数量。你不能把它当作128个独立的随机位。
例如如果使用用于产生在0和255之间的一个随机数的前8位,则使用下一个8位,以产生另一个号码,等等,那么你将看到的号码也不会被均匀地随机的。
v E058D654-35A8-47F2-AE40-1C4EEBBDC549 01461481-ED8D-4B85-90FA-C08621D98DAE AE861E4E-3469-4BDB-A38B-0031DACC8DAE AF8905D0-E41B-4300-94F2-33BB45698CD1 003308A6-AE0A-4E20-9F24-047A6955E748 76F9B7ED-79AB-4EB1-B361-8C0AF5177CE3 B8F1CAC0-591D-436B-BB21-FAAD9EECA983 7FBEAEFD-2163-4315-A783-8106909E47D8 85E2FC60-E7B3-400F-B20A-CEFBECAEE4F9 17ED0A03-ADAD-4521-97EE-04815A867B32 ^ | always 4
您还应该尝试避免重复使用相同的位来生成不同的随机数,因为您的数字将变得相关。如果有疑问,请不要重复使用相同的号码。
注意,还有一个RAND
功能,你可以调用。这将从统一分布中返回数字。
1
NEWID generates一个GUID。这是足够随机的。
2
是的,它是统计学随机的。这只是一个GUID。
你打算如何从一个种子生成10个数字? CHECKSUM(NEWID())
通常你会如何做一个价值,也许模和ABS
1
足够随机为什么?当你说使用它来生成时,你是否会用它来播种PNRG?我不确定这比任何时间戳都好。或者你要从GUID中提取一些数据 - 这是一个坏主意。
+0
谢谢。我可以看到你在说什么,这很有道理。 – wujtehacjusz 2010-05-24 13:10:20
相关问题
- 1. SQL Server如何使用newid()创建uniqueidentifier?
- 2. 使用newID创建函数()
- 3. “order by newid()” - 它是如何工作的?
- 4. 是否存在与SQL Server NewId()函数相同的Access?
- 5. 如何使用SQL Server Express创建基本的SQL Server作业?
- 6. 如何创建链接服务器:目标是SQL Server上的SQL Server 2000 2008
- 7. 创建SQL Server中
- 8. 创建和SQL Server
- 9. 如何创建SQL Server加载项?
- 10. 如何创建SQL Server 2012中
- 11. C#&SQL Server:如何创建视图?
- 12. 如何创建SQL Server 2008中
- 13. 如何创建SQL Server 2008中
- 14. 如何在SQL Server中创建视图?
- 15. 如何在SQL Server中创建警报?
- 16. 如何在SQL Server 2014上创建SQL Server 2012数据库?
- 17. NEWID()在SQL Server中生成错误的格式值
- 18. 配置VS2008创建SQL Server数据库而不是SQL Server Express?
- 19. 何时创建新的SQL Server索引?
- 20. 如何创建一个函数是SQL Server 2008 R2?
- 21. Linq To Sql:处理NewID()
- 22. SQL Server 2008中创建
- 23. 创建SQL Server沙箱
- 24. 创建使用SQL Server
- 25. 创建新外键(SQL Server)
- 26. SQL Server 2012:创建表
- 27. 为sql server创建用户
- 28. 创建MS SQL Server 2008中
- 29. 如何在SQL Server 2008标准中创建SQL代理作业?
- 30. Sql server如何使用Transact-SQL创建新角色
这是有道理的。由于使用GUIDS创建随机数可能会产生相关的随机数,我将不得不放弃此解决方案,并在需要时随机生成随机数。 要回答其他意见,我正考虑在GUID的各个部分使用校验和功能。 – wujtehacjusz 2010-05-24 13:08:55