如何在SQL Server中获取数字随机uniqueid

Dr.*_*len 2 sql random sql-server-2005 unique

我正在使用SQL Server 2005,请告诉我如何获得表中每行的6位数(唯一数字应该是随机的)值.

我在表中有一个字段,其中我需要6位数字值(随机且唯一).

请帮我这样做.

gbn*_*gbn 5

SELECT ABS(CHECKSUM(NEWID())) % 999999
Run Code Online (Sandbox Code Playgroud)

电话号码:

SELECT RIGHT('000000' + CAST(ABS(CHECKSUM(NEWID())) % 999999 AS varchar(6)), 6)
Run Code Online (Sandbox Code Playgroud)

NEWID与SQL Server中的随机性差不多.

但是,如果你想要独一无二,你可以从000000开始并转到999999.任何随机生成器都会遇到生日问题.

您可以拥有可靠的唯一或随机,但不是两者都可靠