- Catégories :
NORMAL¶
Génère un nombre à virgule flottante pseudo-aléatoire normalement distribué avec un écart type spécifié mean et stddev (standard).
Syntaxe¶
NORMAL( <mean> , <stddev> , <gen> )
Arguments¶
meanConstante spécifiant la valeur sur laquelle les valeurs de sortie doivent être centrées.
stddevConstante spécifiant la largeur d’un écart-type.
Ceci spécifie la largeur d’un écart-type. Par exemple, si vous choisissez une moyenne de 0,0 et un écart-type de 1,0, si vous appelez cette fonction plusieurs fois, environ 68,2 % des valeurs renvoyées seront comprises entre -1,0 et +1,0 (c.-à-d. à moins d’un écart-type de la moyenne).
De même, si vous choisissez une moyenne de 5,0 et un écart type de 2, environ 68,2 % des valeurs seront comprises entre 3,0 et 7,0.
genExpression 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¶
Renvoie un nombre aléatoire en virgule flottante. Les résultats cumulés d’un grand nombre d’appels répétés se rapprochent d’une distribution normale.
Notes sur l’utilisation¶
Cette fonction est apparentée à la fonction RANDOM mais en diffère, tant en ce qui concerne les plages de valeurs renvoyées que leur distribution.
RANDOMgénère des entiers aléatoires de 64 bits selon une distribution uniforme. Il accepte un seed facultative qui permet de répéter des séquences aléatoires.Lorsque
RANDOMest appelé un grand nombre de fois, les résultats sont répartis plus ou moins uniformément sur la plage de valeurs possibles. Par exemple, le nombre de résultats avec des valeurs comprises entre 1000 et 2000 est similaire au nombre de valeurs compris entre 2000 et 3000.NORMALgénère des nombres entiers ou flottants aléatoires centrés sur la moyenne spécifiée, avec l’écart-type standard spécifié.Lorsque
NORMALest appelé un grand nombre de fois, la distribution des résultats est susceptible d’approcher une courbe « normale » (« courbe en forme de cloche »). Le centre de la courbe et sa « largeur » sont influencés par les paramètresmeanetstddev. Les valeurs plus proches de la moyenne spécifiée ont plus de chances de se produire que les valeurs éloignées de la moyenne.
Exemples¶
Cela montre une utilisation typique avec une moyenne de 0 et un écart type de 1 :
SELECT normal(0, 1, random()) FROM table(generator(rowCount => 5)); +------------------------+ | NORMAL(0, 1, RANDOM()) | |------------------------| | 0.227384164 | | 0.9945290748 | | -0.2045078571 | | -1.594607893 | | -0.8213296842 | +------------------------+
Cela montre que si le paramètre gen est une constante, la sortie est une constante :
SELECT normal(0, 1, 1234) FROM table(generator(rowCount => 5)); +--------------------+ | NORMAL(0, 1, 1234) | |--------------------| | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | +--------------------+