- Catégories :
UNIFORM¶
Génère un nombre pseudo-aléatoire uniformément distribué dans l’intervalle inclusif [min
, max
].
Syntaxe¶
UNIFORM( <min> , <max> , <gen> )
Arguments¶
min
Une constante spécifiant la valeur minimale (incluse) du nombre généré.
max
Une constante spécifiant la valeur maximale (incluse) du nombre généré.
gen
Expression qui sert de source brute de nombres aléatoires uniformes, généralement la fonction
RANDOM
. Pour plus d’informations, voir Fonctions de génération de données Notes sur l’utilisation.
Renvoie¶
Si min
ou max
est un nombre à virgule flottante, UNIFORM
renvoie un nombre à virgule flottante. Si min
et max
sont des entiers, UNIFORM
renvoie un entier.
Notes sur l’utilisation¶
Cette fonction est liée à la fonction RANDOM , mais en est différente. Les deux fonctions génèrent des distributions uniformes, mais il existe des différences dans les plages des valeurs renvoyées.
RANDOM
génère des entiers pseudo-aléatoires de 64 bits. Il accepte un seed facultatif qui permet de répéter les séquences.UNIFORM
génère des nombres entiers ou flottants aléatoires dans la plage spécifiée.
Exemples¶
SELECT uniform(1, 10, random()) FROM table(generator(rowCount => 5));
--------------------------+
uniform(1, 10, random()) |
--------------------------+
6 |
4 |
7 |
9 |
4 |
--------------------------+
SELECT uniform(0::float, 1::float, random()) FROM table(generator(rowCount => 5));
---------------------------------------+
uniform(0::float, 1::float, random()) |
---------------------------------------+
0.2895427479 |
0.7178660941 |
0.6925603163 |
0.05914526824 |
0.8243151404 |
---------------------------------------+
SELECT uniform(1, 10, 1234) FROM table(generator(rowCount => 5));
----------------------+
uniform(1, 10, 1234) |
----------------------+
7 |
7 |
7 |
7 |
7 |
----------------------+