SELECT ABS(CHECKSUM(NEWID())) % 999999
pour un numéro de téléphone :
SELECT RIGHT('000000' + CAST(ABS(CHECKSUM(NEWID())) % 999999 AS varchar(6)), 6)
NEWID est à peu près aussi aléatoire que possible dans SQL Server.
Cependant, si vous voulez unique, vous pouvez aussi bien commencer à 000000 et aller jusqu'à 999999. Tout générateur aléatoire touchera le problème d'anniversaire .
Vous pouvez avoir des informations uniques ou aléatoires fiables, mais pas les deux de manière fiable