Est-il possible, dans Microsoft SQL Server, de générer une valeur aléatoire de Min à Max (3-9 par exemple, 15-99 etc.) ?
Je sais que je peux générer de 0 à Max, mais comment augmenter la frontière Min ?
Cette requête génère une valeur aléatoire de 1 à 6. J'ai besoin de la changer de 3 à 6.
SELECT table_name, 1.0 + floor(6 * RAND(convert(varbinary, newid()))) magic_number
FROM information_schema.tables
Ajouté 5 secondes plus tard :
SELECT table_name, 3.0 + floor(4 * RAND(convert(varbinary, newid()))) magic_number
FROM information_schema.tables
1 votes
La réponse que vous avez là ne fonctionne que si vous avez des droits de type administrateur sur la table. Pour contourner ce problème, j'ai utilisé la clé primaire du champ comme germe. La distribution n'était pas brillante, mais elle servait le but.