Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erhalten Sie eine numerische zufällige Uniqueid in SQL Server

SELECT ABS(CHECKSUM(NEWID())) % 999999

für eine Telefonnummer:

SELECT RIGHT('000000' + CAST(ABS(CHECKSUM(NEWID())) % 999999 AS varchar(6)), 6)

NEWID ist ungefähr so ​​zufällig, wie Sie es in SQL Server bekommen können.

Wenn Sie jedoch einzigartig sein möchten, können Sie genauso gut bei 000000 beginnen und zu 999999 gehen. Jeder Zufallsgenerator wird auf das Geburtstagsproblem .

Sie können Unique oder Random haben, die zuverlässig sind, aber nicht beides zuverlässig