Toutes les fonctions de cette section n’acceptent aucun argument ou un seul. Le seul usage de l’argument (s’il est fourni) est d’empêcher l’élimination des sous-expressions communes, afin que deux exécutions distinctes d’une même fonction aléatoire au sein d’une ligne renvoient des valeurs aléatoires différentes.
Contenu associé
- Guide : Génération de données aléatoires dans ClickHouse
- Blog : Génération de données aléatoires dans ClickHouse
fuzzBits
Introduite dans : v20.5.0
Inverse les bits de la chaîne d’entrée s, avec une probabilité p pour chaque bit.
Syntaxe
fuzzBits(s, p)Arguments
s—StringouFixedStringsur laquelle effectuer un fuzzing de bitsStringouFixedStringp— Probabilité d’inverser chaque bit, sous la forme d’un nombre compris entre0.0et1.0Float*
Valeur renvoyée
Renvoie une chaîne fuzzée du même type que s. String ou FixedString
Exemples
Exemple d’utilisation
SELECT fuzzBits(materialize('abacaba'), 0.1)
FROM numbers(3)┌─fuzzBits(materialize('abacaba'), 0.1)─┐
│ abaaaja │
│ a*cjab+ │
│ aeca2A │
└───────────────────────────────────────┘rand
Introduit dans : v1.1.0
Renvoie un nombre UInt32 aléatoire suivant une distribution uniforme.
Cette fonction utilise un générateur pseudo-aléatoire non cryptographique avec un état initial obtenu à partir du système, ce qui signifie que, bien qu'il paraisse aléatoire, il ne l'est pas réellement et peut être prévisible si l'état initial est connu. Dans les cas où une véritable source d'aléa est indispensable, envisagez d'utiliser d'autres méthodes, comme des appels système ou l'intégration de bibliothèques externes.
Syntaxe
rand([x])Alias : rand32
Arguments
x— Facultatif et ignoré. Le seul rôle de l'argument est d'empêcher l'élimination des sous-expressions communes lorsqu'un même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire de type UInt32. UInt32
Exemples
Exemple d'utilisation
SELECT rand();1569354847rand64
Introduit dans : v1.1.0
Renvoie un nombre UInt64 aléatoire suivant une distribution uniforme.
Utilise un générateur pseudo-aléatoire non cryptographique avec un état initial obtenu à partir du système, ce qui signifie que, même s'il semble aléatoire, il ne l'est pas réellement et peut être prévisible si l'état initial est connu. Lorsque le caractère véritablement aléatoire est crucial, envisagez d'utiliser d'autres méthodes, comme des appels système ou l'intégration de bibliothèques externes.
Syntaxe
rand64([x])Arguments
x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre UInt64 aléatoire suivant une distribution uniforme. UInt64
Exemples
Exemple d’utilisation
SELECT rand64();15030268859237645412randBernoulli
Introduit dans : v22.10.0
Renvoie un nombre aléatoire de type Float64 issu d’une loi de Bernoulli.
Syntaxe
randBernoulli(probability[, x])Arguments
probability— La probabilité de succès, sous la forme d'une valeur comprise entre0et1.Float64x— Facultatif et ignoré. Le seul objectif de cet argument est d'empêcher l'élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie une valeur Float64 aléatoire générée selon la loi de Bernoulli spécifiée. UInt64
Exemples
Exemple d'utilisation
SELECT randBernoulli(.75) FROM numbers(5)┌─randBernoulli(0.75)─┐
│ 1 │
│ 1 │
│ 0 │
│ 1 │
│ 1 │
└─────────────────────┘randBinomial
Apparu dans : v22.10.0
Renvoie un nombre aléatoire de type Float64 tiré d'une loi binomiale.
Syntaxe
randBinomial(experiments, probability[, x])Arguments
experiments— Le nombre d’épreuvesUInt64probability— La probabilité de succès de chaque épreuve, sous la forme d’une valeur comprise entre0et1Float64x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire de type Float64 issu de la loi binomiale spécifiée. UInt64
Exemples
Exemple d’utilisation
SELECT randBinomial(100, .75) FROM numbers(5)┌─randBinomial(100, 0.75)─┐
│ 74 │
│ 78 │
│ 76 │
│ 77 │
│ 80 │
└─────────────────────────┘randCanonical
Introduit dans : v22.11.0
Renvoie un nombre Float64 aléatoire suivant une distribution uniforme entre 0 (inclus) et 1 (exclus).
Syntaxe
randCanonical([x])Arguments
x— Facultatif et ignoré. Le seul but de l’argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire de type Float64. Float64
Exemples
Exemple d’utilisation
SELECT randCanonical();0.345217890123456randChiSquared
Introduit dans : v22.10.0
Renvoie un nombre Float64 aléatoire tiré d’une loi du chi carré.
Syntaxe
randChiSquared(degree_of_freedom[, x])Arguments
degree_of_freedom— Degrés de liberté.Float64x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire Float64 tiré de la distribution du chi carré spécifiée. Float64
Exemples
Exemple d’utilisation
SELECT randChiSquared(10) FROM numbers(5)┌─randChiSquared(10)─┐
│ 10.015463656521543 │
│ 9.621799919882768 │
│ 2.71785015634699 │
│ 11.128188665931908 │
│ 4.902063104425469 │
└────────────────────┘randConstant
Introduit dans : v1.1.0
Génère une valeur aléatoire unique qui reste constante pour toutes les lignes lors de l’exécution de la requête en cours.
Cette fonction :
- Renvoie la même valeur aléatoire pour chaque ligne au sein d’une même requête
- Produit des valeurs différentes d’une exécution à l’autre
Elle est utile pour utiliser les mêmes seeds ou identifiants aléatoires sur toutes les lignes d’un jeu de données
Syntaxe
randConstant([x])Arguments
x— Facultatif et ignoré. Le seul but de l’argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie une colonne de type UInt32 contenant la même valeur aléatoire sur chaque ligne. UInt32
Exemples
Utilisation de base
SELECT randConstant() AS random_value;| random_value |
|--------------|
| 1234567890 |Utilisation avec un paramètre
SELECT randConstant(10) AS random_value;| random_value |
|--------------|
| 9876543210 |randExponential
Introduit dans : v22.10.0
Renvoie un nombre Float64 aléatoire issu d’une loi exponentielle.
Syntaxe
randExponential(lambda[, x])Arguments
lambda— Paramètre de taux, ou valeur lambda, de la distributionFloat64x— Facultatif et ignoré. Le seul but de l’argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire de type Float64 issu de la distribution exponentielle spécifiée. Float64
Exemples
Exemple d’utilisation
SELECT randExponential(1/10) FROM numbers(5)┌─randExponential(divide(1, 10))─┐
│ 44.71628934340778 │
│ 4.211013337903262 │
│ 10.809402553207766 │
│ 15.63959406553284 │
│ 1.8148392319860158 │
└────────────────────────────────┘randFisherF
Introduit dans : v22.10.0
Renvoie un nombre Float64 aléatoire tiré d’une loi F.
Syntaxe
randFisherF(d1, d2[, x])Arguments
d1— le degré de liberté d1 dansX = (S1 / d1) / (S2 / d2).Float64d2— le degré de liberté d2 dansX = (S1 / d1) / (S2 / d2).Float64x— Facultatif et ignoré. Le seul but de cet argument est d'empêcher l'élimination des sous-expressions communes si le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire de type Float64 tiré de la loi F spécifiée Float64
Exemples
Exemple d'utilisation
SELECT randFisherF(10, 3) FROM numbers(5)┌─randFisherF(10, 20)─┐
│ 0.7204609609506184 │
│ 0.9926258472572916 │
│ 1.4010752726735863 │
│ 0.34928401507025556 │
│ 1.8216216009473598 │
└─────────────────────┘randLogNormal
Introduit dans : v22.10.0
Renvoie un nombre Float64 aléatoire issu d'une loi log-normale.
Syntaxe
randLogNormal(mean, stddev[, x])Arguments
mean— La valeur moyenne de la distribution.Float64stddev— L’écart type de la distribution.Float64x— Facultatif et ignoré. Le seul objectif de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire Float64 tiré de la distribution log-normale spécifiée. Float64
Exemples
Exemple d’utilisation
SELECT randLogNormal(100, 5) FROM numbers(5)┌─randLogNormal(100, 5)─┐
│ 1.295699673937363e48 │
│ 9.719869109186684e39 │
│ 6.110868203189557e42 │
│ 9.912675872925529e39 │
│ 2.3564708490552458e42 │
└───────────────────────┘randNegativeBinomial
Introduit dans : v22.10.0
Renvoie un nombre aléatoire de type Float64 tiré d’une loi binomiale négative.
Syntaxe
randNegativeBinomial(experiments, probability[, x])Arguments
experiments— Le nombre d'expériences.UInt64probability—La probabilité d'échec dans chaque expérience, sous forme d'une valeur comprise entre0et1. [Float64`](/reference/data-types/float)x— Facultatif et ignoré. Le seul but de cet argument est d'empêcher l'élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre Float64 aléatoire issu de la distribution binomiale négative spécifiée UInt64
Exemples
Exemple d'utilisation
SELECT randNegativeBinomial(100, .75) FROM numbers(5)┌─randNegativeBinomial(100, 0.75)─┐
│ 33 │
│ 32 │
│ 39 │
│ 40 │
│ 50 │
└─────────────────────────────────┘randNormal
Introduit dans : v22.10.0
Renvoie un nombre Float64 aléatoire issu d'une loi normale.
Syntaxe
randNormal(mean, stddev[, x])Arguments
mean— La moyenne de la distributionFloat64stddev— L’écart type de la distributionFloat64x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire de type Float64 issu de la distribution normale spécifiée. Float64
Exemples
Exemple d’utilisation
SELECT randNormal(10, 2) FROM numbers(5)┌──randNormal(10, 2)─┐
│ 13.389228911709653 │
│ 8.622949707401295 │
│ 10.801887062682981 │
│ 4.5220192605895315 │
│ 10.901239123982567 │
└────────────────────┘randPoisson
Introduit dans : v22.10.0
Renvoie un nombre Float64 aléatoire tiré d’une distribution de Poisson.
Syntaxe
randPoisson(n[, x])Arguments
n— Le nombre moyen d'occurrences.UInt64x— Facultatif et ignoré. Cet argument a pour seul but d'empêcher l'élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire de type Float64 issu de la loi de Poisson spécifiée. UInt64
Exemples
Exemple d'utilisation
SELECT randPoisson(10) FROM numbers(5)┌─randPoisson(10)─┐
│ 8 │
│ 8 │
│ 7 │
│ 10 │
│ 6 │
└─────────────────┘randStudentT
Introduit dans : v22.10.0
Renvoie un nombre Float64 aléatoire issu d’une loi t de Student.
Syntaxe
randStudentT(degree_of_freedom[, x])Arguments
degree_of_freedom— Degrés de liberté.Float64x— Facultatif et ignoré. Le seul objectif de cet argument est d’empêcher l’élimination des sous-expressions communes si le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire de type Float64 tiré de la loi t de Student spécifiée. Float64
Exemples
Exemple d’utilisation
SELECT randStudentT(10) FROM numbers(5)┌─────randStudentT(10)─┐
│ 1.2217309938538725 │
│ 1.7941971681200541 │
│ -0.28192176076784664 │
│ 0.2508897721303792 │
│ -2.7858432909761186 │
└──────────────────────┘randUniform
Introduit dans : v22.10.0
Renvoie un nombre Float64 aléatoire uniformément distribué sur l’intervalle [\min, \max].
Syntaxe
randUniform(min, max[, x])Arguments
min— Borne gauche de l'intervalle (incluse).Float64max— Borne droite de l'intervalle (incluse).Float64x— Facultatif et ignoré. Le seul but de cet argument est d'empêcher l'élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie un nombre aléatoire tiré uniformément dans l'intervalle formé par min et max. Float64
Exemples
Exemple d'utilisation
SELECT randUniform(5.5, 10) FROM numbers(5)┌─randUniform(5.5, 10)─┐
│ 8.094978491443102 │
│ 7.3181248914450885 │
│ 7.177741903868262 │
│ 6.483347380953762 │
│ 6.122286382885112 │
└──────────────────────┘randomFixedString
Introduit dans : v20.5.0
Génère une chaîne aléatoire de longueur fixe contenant le nombre de caractères spécifié. Les caractères renvoyés ne sont pas nécessairement des caractères ASCII, c’est-à-dire qu’ils peuvent ne pas être imprimables.
Syntaxe
randomFixedString(length)Arguments
length— Longueur de la chaîne en octets.UInt*
Valeur renvoyée
Une chaîne remplie d'octets aléatoires. FixedString
Exemples
Exemple d'utilisation
SELECT randomFixedString(13) AS rnd, toTypeName(rnd)┌─rnd────────┬─toTypeName(randomFixedString(13))─┐
│ j▒h㋖HɨZ'▒ │ FixedString(13) │
└────────────┴───────────────────────────────────┘randomPrintableASCII
Introduit dans : v20.1.0
Génère une chaîne ASCII aléatoire contenant le nombre de caractères spécifié.
Si vous passez length < 0, le comportement de la fonction est indéfini.
Syntaxe
randomPrintableASCII(length[, x])Arguments
length— Longueur de la chaîne en octets.(U)Int*x— Facultatif et ignoré. Le seul but de cet argument est d'empêcher l'élimination des sous-expressions communes lorsqu'un même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie une chaîne composée d'un ensemble aléatoire de caractères ASCII imprimables. String
Exemples
Exemple d'utilisation
SELECT number, randomPrintableASCII(30) AS str, length(str) FROM system.numbers LIMIT 3┌─number─┬─str────────────────────────────┬─length(randomPrintableASCII(30))─┐
│ 0 │ SuiCOSTvC0csfABSw=UcSzp2.`rv8x │ 30 │
│ 1 │ 1Ag NlJ &RCN:*>HVPG;PE-nO"SUFD │ 30 │
│ 2 │ /"+<"with:=LjJ Vm!c&hI*m#XTfzz │ 30 │
└────────┴────────────────────────────────┴──────────────────────────────────┘randomString
Introduit dans : v20.5.0
Génère une chaîne aléatoire du nombre de caractères spécifié. Les caractères renvoyés ne sont pas nécessairement des caractères ASCII, c’est-à-dire qu’ils peuvent ne pas être affichables.
Syntaxe
randomString(length[, x])Arguments
length— Longueur de la chaîne en octets.(U)Int*x— Facultatif et ignoré. Cet argument a pour seule fonction d'empêcher l'élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Valeur renvoyée
Renvoie une chaîne remplie d'octets aléatoires. String
Exemples
Exemple d'utilisation
SELECT randomString(5) AS str FROM numbers(2)���
�v6B�randomStringUTF8
Introduit dans : v20.5.0
Génère une chaîne UTF-8 aléatoire contenant le nombre de points de code spécifié. Aucun point de code issu de plans non attribués (plans 4 à 13) n'est renvoyé. Il est également possible que le client interagissant avec le serveur ClickHouse ne soit pas en mesure d'afficher correctement la chaîne UTF-8 générée.
Syntaxe
randomStringUTF8(length)Arguments
length— Longueur de la chaîne en points de code.(U)Int*
Valeur renvoyée
Renvoie une chaîne composée de points de code UTF-8 aléatoires. String
Exemples
Exemple d'utilisation
SELECT randomStringUTF8(13)┌─randomStringUTF8(13)─┐
│ 𲉗𩍄ԍ╃𑄅 │
└──────────────────────┘