我正在使用SQL Server 2005,请告诉我如何为表中的每一行获取6位(唯一数字,应该是随机的)值。
我在表中有一个字段,我需要6位数字值(随机且唯一)。
请帮助我做到这一点。
SELECT ABS(CHECKSUM(NEWID())) % 999999
电话号码:
SELECT RIGHT('000000' + CAST(ABS(CHECKSUM(NEWID())) % 999999 AS varchar(6)), 6)
在SQL Server中,NEWID几乎是随机的。
但是,如果要唯一,则最好从000000开始,然后转到999999。任何随机数生成器都会遇到生日问题。
您可以拥有可靠的唯一身份或随机身份,但不能两者都可靠