Passer au contenu principal
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é
Les nombres aléatoires sont générés par des algorithmes non cryptographiques.
La documentation ci-dessous est générée à partir de la table système system.functions.

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
  • sString ou FixedString sur laquelle effectuer un fuzzing de bits String ou FixedString
  • p — Probabilité d’inverser chaque bit, sous la forme d’un nombre compris entre 0.0 et 1.0 Float*
Valeur renvoyée Renvoie une chaîne fuzzée du même type que s. String ou FixedString Exemples Exemple d’utilisation
Query
SELECT fuzzBits(materialize('abacaba'), 0.1)
FROM numbers(3)
Response
┌─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 congruentiel linéaire 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 Valeur renvoyée Renvoie un nombre aléatoire de type UInt32. UInt32 Exemples Exemple d’utilisation
Query
SELECT rand();
Response
1569354847

rand64

Introduit dans : v1.1.0 Renvoie un nombre UInt64 aléatoire suivant une distribution uniforme. Utilise un générateur congruentiel linéaire 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 Valeur renvoyée Renvoie un nombre UInt64 aléatoire suivant une distribution uniforme. UInt64 Exemples Exemple d’utilisation
Query
SELECT rand64();
Response
15030268859237645412

randBernoulli

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 entre 0 et 1. Float64
  • x — 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
Query
SELECT randBernoulli(.75) FROM numbers(5)
Response
┌─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’épreuves UInt64
  • probability — La probabilité de succès de chaque épreuve, sous la forme d’une valeur comprise entre 0 et 1 Float64
  • 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 aléatoire de type Float64 issu de la loi binomiale spécifiée. UInt64 Exemples Exemple d’utilisation
Query
SELECT randBinomial(100, .75) FROM numbers(5)
Response
┌─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 Valeur renvoyée Renvoie un nombre aléatoire de type Float64. Float64 Exemples Exemple d’utilisation
Query
SELECT randCanonical();
Response
0.345217890123456

randChiSquared

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é. Float64
  • 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 aléatoire Float64 tiré de la distribution du chi carré spécifiée. Float64 Exemples Exemple d’utilisation
Query
SELECT randChiSquared(10) FROM numbers(5)
Response
┌─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 Valeur renvoyée Renvoie une colonne de type UInt32 contenant la même valeur aléatoire sur chaque ligne. UInt32 Exemples Utilisation de base
Query
SELECT randConstant() AS random_value;
Response
| random_value |
|--------------|
| 1234567890   |
Utilisation avec un paramètre
Query
SELECT randConstant(10) AS random_value;
Response
| 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 distribution Float64
  • 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 issu de la distribution exponentielle spécifiée. Float64 Exemples Exemple d’utilisation
Query
SELECT randExponential(1/10) FROM numbers(5)
Response
┌─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 dans X = (S1 / d1) / (S2 / d2). Float64
  • d2 — le degré de liberté d2 dans X = (S1 / d1) / (S2 / d2). Float64
  • x — 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
Query
SELECT randFisherF(10, 3) FROM numbers(5)
Response
┌─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. Float64
  • stddev — L’écart type de la distribution. Float64
  • x — 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
Query
SELECT randLogNormal(100, 5) FROM numbers(5)
Response
┌─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. UInt64
  • probabilityLa probabilité d'échec dans chaque expérience, sous forme d'une valeur comprise entre 0et1. [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
Query
SELECT randNegativeBinomial(100, .75) FROM numbers(5)
Response
┌─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 distribution Float64
  • stddev — L’écart type de la distribution Float64
  • 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 aléatoire de type Float64 issu de la distribution normale spécifiée. Float64 Exemples Exemple d’utilisation
Query
SELECT randNormal(10, 2) FROM numbers(5)
Response
┌──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 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
Query
SELECT randPoisson(10) FROM numbers(5)
Response
┌─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é. Float64
  • x — 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
Query
SELECT randStudentT(10) FROM numbers(5)
Response
┌─────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][\min, \max]. Syntaxe
randUniform(min, max[, x])
Arguments
  • min — Borne gauche de l’intervalle (incluse). Float64
  • max — Borne droite de l’intervalle (incluse). Float64
  • 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 aléatoire tiré uniformément dans l’intervalle formé par min et max. Float64 Exemples Exemple d’utilisation
Query
SELECT randUniform(5.5, 10) FROM numbers(5)
Response
┌─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
Query
SELECT randomFixedString(13) AS rnd, toTypeName(rnd)
Response
┌─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
Query
SELECT number, randomPrintableASCII(30) AS str, length(str) FROM system.numbers LIMIT 3
Response
┌─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
Query
SELECT randomString(5) AS str FROM numbers(2)
Response
���
�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
Query
SELECT randomStringUTF8(13)
Response
┌─randomStringUTF8(13)─┐
│ 𘤗𙉝д兠庇󡅴󱱎󦐪􂕌𔊹𓰛       │
└──────────────────────┘
Dernière modification le 25 juin 2026