Saltar al contenido principal
Todas las funciones de esta sección aceptan cero o un argumento. El único propósito del argumento (si se proporciona) es evitar la eliminación de subexpresiones comunes, de modo que dos ejecuciones distintas de la misma función aleatoria dentro de una fila devuelvan valores aleatorios diferentes. Contenido relacionado
Los números aleatorios se generan mediante algoritmos no criptográficos.
La documentación que aparece a continuación se genera a partir de la tabla del sistema system.functions.

fuzzBits

Introducido en: v20.5.0 Invierte los bits de la cadena de entrada s, con una probabilidad p para cada bit. Sintaxis
fuzzBits(s, p)
Argumentos
  • sString o FixedString sobre el que se realiza el fuzzing de bits en String o FixedString
  • p — Probabilidad de invertir cada bit, como un número entre 0.0 y 1.0 Float*
Valor devuelto Devuelve una cadena con fuzzing del mismo tipo que s: String o FixedString Ejemplos Ejemplo de uso
Query
SELECT fuzzBits(materialize('abacaba'), 0.1)
FROM numbers(3)
Response
┌─fuzzBits(materialize('abacaba'), 0.1)─┐
│ abaaaja                               │
│ a*cjab+                               │
│ aeca2A                                │
└───────────────────────────────────────┘

rand

Introducido en: v1.1.0 Devuelve un número UInt32 aleatorio con distribución uniforme. Utiliza un generador congruencial lineal con un estado inicial obtenido del sistema, lo que significa que, aunque parece aleatorio, no es verdaderamente aleatorio y puede resultar predecible si se conoce el estado inicial. En los casos en que la aleatoriedad real sea crucial, considere usar métodos alternativos, como llamadas a nivel del sistema o la integración con bibliotecas externas. Sintaxis
rand([x])
Alias: rand32 Argumentos Valor devuelto Devuelve un número aleatorio de tipo UInt32. UInt32 Ejemplos Ejemplo de uso
Query
SELECT rand();
Response
1569354847

rand64

Introducido en: v1.1.0 Devuelve un número UInt64 aleatorio con distribución uniforme. Utiliza un generador congruencial lineal con un estado inicial obtenido del sistema, lo que significa que, aunque parece aleatorio, no es realmente aleatorio y puede ser predecible si se conoce el estado inicial. En situaciones en las que la verdadera aleatoriedad sea crucial, considere usar métodos alternativos, como llamadas a nivel de sistema o la integración con bibliotecas externas. Sintaxis
rand64([x])
Argumentos Valor devuelto Devuelve un número aleatorio UInt64 con distribución uniforme. UInt64 Ejemplos Ejemplo de uso
Query
SELECT rand64();
Response
15030268859237645412

randBernoulli

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio obtenido de una distribución de Bernoulli. Sintaxis
randBernoulli(probability[, x])
Argumentos
  • probability — La probabilidad de éxito, expresada como un valor entre 0 y 1. Float64
  • x — Opcional; se ignora. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada de función se utiliza varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio Float64 extraído de la distribución de Bernoulli especificada. UInt64 Ejemplos Ejemplo de uso
Query
SELECT randBernoulli(.75) FROM numbers(5)
Response
┌─randBernoulli(0.75)─┐
│                   1 │
│                   1 │
│                   0 │
│                   1 │
│                   1 │
└─────────────────────┘

randBinomial

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio obtenido de una distribución binomial. Sintaxis
randBinomial(experiments, probability[, x])
Argumentos
  • experiments — El número de experimentos UInt64
  • probability — La probabilidad de éxito en cada experimento, como un valor entre 0 y 1 Float64
  • x — Opcional y se ignora. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a la función se utiliza varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 generado a partir de la distribución binomial especificada. UInt64 Ejemplos Ejemplo de uso
Query
SELECT randBinomial(100, .75) FROM numbers(5)
Response
┌─randBinomial(100, 0.75)─┐
│                      74 │
│                      78 │
│                      76 │
│                      77 │
│                      80 │
└─────────────────────────┘

randCanonical

Introducido en: v22.11.0 Devuelve un número Float64 aleatorio con distribución uniforme entre 0 (incluido) y 1 (excluido). Sintaxis
randCanonical([x])
Argumentos Valor devuelto Devuelve un número aleatorio de tipo Float64. Float64 Ejemplos Ejemplo de uso
Query
SELECT randCanonical();
Response
0.345217890123456

randChiSquared

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio generado a partir de una distribución chi-cuadrado. Sintaxis
randChiSquared(degree_of_freedom[, x])
Argumentos
  • degree_of_freedom — Grados de libertad. Float64
  • x — Opcional e ignorado. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a la función se usa varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 extraído de la distribución chi-cuadrado especificada. Float64 Ejemplos Ejemplo de uso
Query
SELECT randChiSquared(10) FROM numbers(5)
Response
┌─randChiSquared(10)─┐
│ 10.015463656521543 │
│  9.621799919882768 │
│   2.71785015634699 │
│ 11.128188665931908 │
│  4.902063104425469 │
└────────────────────┘

randConstant

Introducida en: v1.1.0 Genera un único valor aleatorio que permanece constante en todas las filas de la ejecución actual de la consulta. Esta función:
  • Devuelve el mismo valor aleatorio para cada fila dentro de una misma consulta
  • Produce valores diferentes en ejecuciones de consultas distintas
Resulta útil para aplicar semillas aleatorias o identificadores consistentes en todas las filas de un conjunto de datos Sintaxis
randConstant([x])
Argumentos Valor devuelto Devuelve una columna de tipo UInt32 que contiene el mismo valor aleatorio en cada fila. UInt32 Ejemplos Uso básico
Query
SELECT randConstant() AS random_value;
Response
| random_value |
|--------------|
| 1234567890   |
Uso con un parámetro
Query
SELECT randConstant(10) AS random_value;
Response
| random_value |
|--------------|
| 9876543210   |

randExponential

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio obtenido de una distribución exponencial. Sintaxis
randExponential(lambda[, x])
Argumentos
  • lambda — Parámetro de tasa, o valor lambda, de la distribución Float64
  • x — Opcional; se ignora. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a función se utiliza varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 generado a partir de la distribución exponencial especificada. Float64 Ejemplos Ejemplo de uso
Query
SELECT randExponential(1/10) FROM numbers(5)
Response
┌─randExponential(divide(1, 10))─┐
│              44.71628934340778 │
│              4.211013337903262 │
│             10.809402553207766 │
│              15.63959406553284 │
│             1.8148392319860158 │
└────────────────────────────────┘

randFisherF

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio obtenido de una distribución F. Sintaxis
randFisherF(d1, d2[, x])
Argumentos
  • d1 — grado de libertad d1 en X = (S1 / d1) / (S2 / d2). Float64
  • d2 — grado de libertad d2 en X = (S1 / d1) / (S2 / d2). Float64
  • x — Opcional; se ignora. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando se utiliza la misma llamada a función varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 extraído de la distribución F especificada Float64 Ejemplos Ejemplo de uso
Query
SELECT randFisherF(10, 3) FROM numbers(5)
Response
┌─randFisherF(10, 20)─┐
│  0.7204609609506184 │
│  0.9926258472572916 │
│  1.4010752726735863 │
│ 0.34928401507025556 │
│  1.8216216009473598 │
└─────────────────────┘

randLogNormal

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio obtenido de una distribución log-normal. Sintaxis
randLogNormal(mean, stddev[, x])
Argumentos
  • mean — El valor medio de la distribución. Float64
  • stddev — La desviación estándar de la distribución. Float64
  • x — Es opcional y se ignora. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a la función se usa varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 generado a partir de la distribución log-normal especificada. Float64 Ejemplos Ejemplo de uso
Query
SELECT randLogNormal(100, 5) FROM numbers(5)
Response
┌─randLogNormal(100, 5)─┐
│  1.295699673937363e48 │
│  9.719869109186684e39 │
│  6.110868203189557e42 │
│  9.912675872925529e39 │
│ 2.3564708490552458e42 │
└───────────────────────┘

randNegativeBinomial

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio obtenido de una distribución binomial negativa. Sintaxis
randNegativeBinomial(experiments, probability[, x])
Argumentos
  • experiments — El número de experimentos. UInt64
  • probabilityLa probabilidad de fallo en cada experimento, como un valor entre 0y1. [Float64`](/reference/data-types/float)
  • x — Opcional e ignorado. El único propósito del argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a función se usa varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 extraído de la distribución binomial negativa especificada UInt64 Ejemplos Ejemplo de uso
Query
SELECT randNegativeBinomial(100, .75) FROM numbers(5)
Response
┌─randNegativeBinomial(100, 0.75)─┐
│                              33 │
│                              32 │
│                              39 │
│                              40 │
│                              50 │
└─────────────────────────────────┘

randNormal

Introducido en: v22.10.0 Devuelve un número aleatorio de tipo Float64 obtenido a partir de una distribución normal. Sintaxis
randNormal(mean, stddev[, x])
Argumentos
  • mean — La media de la distribución Float64
  • stddev — La desviación estándar de la distribución Float64
  • x — Opcional; se ignora. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a función se usa varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 extraído de la distribución normal especificada. Float64 Ejemplos Ejemplo de uso
Query
SELECT randNormal(10, 2) FROM numbers(5)
Response
┌──randNormal(10, 2)─┐
│ 13.389228911709653 │
│  8.622949707401295 │
│ 10.801887062682981 │
│ 4.5220192605895315 │
│ 10.901239123982567 │
└────────────────────┘

randPoisson

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio procedente de una distribución de Poisson. Sintaxis
randPoisson(n[, x])
Argumentos
  • n — El número medio de ocurrencias. UInt64
  • x — Opcional e ignorado. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando se usa la misma llamada de función varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 obtenido de la distribución de Poisson especificada. UInt64 Ejemplos Ejemplo de uso
Query
SELECT randPoisson(10) FROM numbers(5)
Response
┌─randPoisson(10)─┐
│               8 │
│               8 │
│               7 │
│              10 │
│               6 │
└─────────────────┘

randStudentT

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio procedente de una distribución t de Student. Sintaxis
randStudentT(degree_of_freedom[, x])
Argumentos
  • degree_of_freedom — Grados de libertad. Float64
  • x — Opcional e ignorado. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a función se usa varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio de tipo Float64 obtenido de la distribución t de Student especificada. Float64 Ejemplos Ejemplo de uso
Query
SELECT randStudentT(10) FROM numbers(5)
Response
┌─────randStudentT(10)─┐
│   1.2217309938538725 │
│   1.7941971681200541 │
│ -0.28192176076784664 │
│   0.2508897721303792 │
│  -2.7858432909761186 │
└──────────────────────┘

randUniform

Introducido en: v22.10.0 Devuelve un número Float64 aleatorio distribuido uniformemente en el intervalo [min,max][\min, \max]. Sintaxis
randUniform(min, max[, x])
Argumentos
  • min — Límite izquierdo del rango (incluido). Float64
  • max — Límite derecho del rango (incluido). Float64
  • x — Opcional y se ignora. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a función se usa varias veces en una consulta. Any
Valor devuelto Devuelve un número aleatorio con distribución uniforme en el intervalo formado por min y max. Float64 Ejemplos Ejemplo de uso
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

Introducido en: v20.5.0 Genera una cadena aleatoria de longitud fija con el número de caracteres especificado. Los caracteres devueltos no son necesariamente ASCII; es decir, puede que no sean imprimibles. Sintaxis
randomFixedString(length)
Argumentos
  • length — Longitud de la cadena en bytes. UInt*
Valor devuelto Devuelve una cadena rellena de bytes aleatorios. FixedString Ejemplos Ejemplo de uso
Query
SELECT randomFixedString(13) AS rnd, toTypeName(rnd)
Response
┌─rnd──────┬─toTypeName(randomFixedString(13))─┐
│ j▒h㋖HɨZ'▒ │ FixedString(13)                 │
└──────────┴───────────────────────────────────┘

randomPrintableASCII

Introducida en: v20.1.0 Genera una cadena ASCII aleatoria con la cantidad de caracteres especificada. Si se pasa length < 0, el comportamiento de la función no está definido. Sintaxis
randomPrintableASCII(length[, x])
Argumentos
  • length — Longitud de la cadena, en bytes. (U)Int*
  • x — Opcional y se ignora. El único propósito del argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a función se utiliza varias veces en una consulta. Any
Valor devuelto Devuelve una cadena con caracteres ASCII imprimibles aleatorios. String Ejemplos Ejemplo de uso
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

Introducido en: v20.5.0 Genera una cadena aleatoria con la cantidad especificada de caracteres. Los caracteres devueltos no son necesariamente ASCII; es decir, puede que no sean imprimibles. Sintaxis
randomString(length[, x])
Argumentos
  • length — Longitud de la cadena en bytes. (U)Int*
  • x — Opcional e ignorado. El único propósito de este argumento es evitar la eliminación de subexpresiones comunes cuando la misma llamada a función se utiliza varias veces en una consulta. Any
Valor devuelto Devuelve una cadena rellena de bytes aleatorios. String Ejemplos Ejemplo de uso
Query
SELECT randomString(5) AS str FROM numbers(2)
Response
���
�v6B�

randomStringUTF8

Introducido en: v20.5.0 Genera una cadena UTF-8 aleatoria con el número especificado de puntos de código. No se devuelven puntos de código de planos no asignados (planos 4 a 13). Es posible que el cliente que interactúa con el servidor ClickHouse no pueda mostrar correctamente la cadena UTF-8 generada. Sintaxis
randomStringUTF8(length)
Argumentos
  • length — Longitud de la cadena en puntos de código. (U)Int*
Valor devuelto Devuelve una cadena compuesta por puntos de código UTF-8 aleatorios. String Ejemplos Ejemplo de uso
Query
SELECT randomStringUTF8(13)
Response
┌─randomStringUTF8(13)─┐
│ 𘤗𙉝д兠庇󡅴󱱎󦐪􂕌𔊹𓰛       │
└──────────────────────┘
Última modificación el 10 de junio de 2026