Fonctions pour générer des nombres Pseudo-aléatoires 

Des générateurs Non cryptographiques de nombres pseudo-aléatoires sont utilisés.

Toutes les fonctions acceptent zéro argument ou un argument.
Si un argument est passé, il peut être de n'importe quel type, et sa valeur n'est utilisée pour rien.
Le seul but de cet argument est d'empêcher l'élimination des sous-expressions courantes, de sorte que deux instances différentes de la même fonction renvoient des colonnes différentes avec des nombres aléatoires différents.

Rand 

Renvoie un nombre UInt32 pseudo-aléatoire, réparti uniformément entre tous les nombres de type UInt32.
Utilise un générateur congruentiel linéaire.

rand64 

Renvoie un nombre UInt64 pseudo-aléatoire, réparti uniformément entre tous les nombres de type UInt64.
Utilise un générateur congruentiel linéaire.

randConstant 

Produit une colonne constante avec une valeur aléatoire.

Syntaxe

randConstant([x])

Paramètre

Valeur renvoyée

  • Nombre Pseudo-aléatoire.

Type: UInt32.

Exemple

Requête:

SELECT rand(), rand(1), rand(number), randConstant(), randConstant(1), randConstant(number)
FROM numbers(3)

Résultat:

┌─────rand()─┬────rand(1)─┬─rand(number)─┬─randConstant()─┬─randConstant(1)─┬─randConstant(number)─┐
│ 3047369878 │ 4132449925 │   4044508545 │     2740811946 │      4229401477 │           1924032898 │
│ 2938880146 │ 1267722397 │   4154983056 │     2740811946 │      4229401477 │           1924032898 │
│  956619638 │ 4238287282 │   1104342490 │     2740811946 │      4229401477 │           1924032898 │
└────────────┴────────────┴──────────────┴────────────────┴─────────────────┴──────────────────────┘

Article Original

Rating: 4 - 1 votes

Was this content helpful?
★★★★☆