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
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
s—StringoFixedStringsobre el que se realiza el fuzzing de bits enStringoFixedStringp— Probabilidad de invertir cada bit, como un número entre0.0y1.0Float*
Valor devuelto
Devuelve una cadena con fuzzing del mismo tipo que s: String o FixedString
Ejemplos
Ejemplo de uso
SELECT fuzzBits(materialize('abacaba'), 0.1)
FROM numbers(3)┌─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 pseudoaleatorio no criptográfico 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 verdadera 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
x— Opcional y se ignora. El único propósito del 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 UInt32. UInt32
Ejemplos
Ejemplo de uso
SELECT rand();1569354847rand64
Introducido en: v1.1.0
Devuelve un número UInt64 aleatorio con distribución uniforme.
Utiliza un generador pseudoaleatorio no criptográfico 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
x— Opcional y se ignora. El único propósito del 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 UInt64 con distribución uniforme. UInt64
Ejemplos
Ejemplo de uso
SELECT rand64();15030268859237645412randBernoulli
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 entre0y1.Float64x— 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 obtenido de la distribución de Bernoulli especificada. UInt64
Ejemplos
Ejemplo de uso
SELECT randBernoulli(.75) FROM numbers(5)┌─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 experimentosUInt64probability— La probabilidad de éxito en cada experimento, como un valor entre0y1Float64x— 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 obtenido de la distribución binomial especificada. UInt64
Ejemplos
Ejemplo de uso
SELECT randBinomial(100, .75) FROM numbers(5)┌─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
x— Opcional y se ignora. El único propósito del 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. Float64
Ejemplos
Ejemplo de uso
SELECT randCanonical();0.345217890123456randChiSquared
Introducido en: v22.10.0
Devuelve un número Float64 aleatorio obtenido de una distribución chi-cuadrado.
Sintaxis
randChiSquared(degree_of_freedom[, x])Argumentos
degree_of_freedom— Grados de libertad.Float64x— 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 obtenido de la distribución chi-cuadrado especificada. Float64
Ejemplos
Ejemplo de uso
SELECT randChiSquared(10) FROM numbers(5)┌─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
x— Opcional e ignorado. El único propósito del 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 una columna de tipo UInt32 que contiene el mismo valor aleatorio en cada fila. UInt32
Ejemplos
Uso básico
SELECT randConstant() AS random_value;| random_value |
|--------------|
| 1234567890 |Uso con un parámetro
SELECT randConstant(10) AS random_value;| 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ónFloat64x— 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 obtenido de la distribución exponencial especificada. Float64
Ejemplos
Ejemplo de uso
SELECT randExponential(1/10) FROM numbers(5)┌─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 libertadd1enX = (S1 / d1) / (S2 / d2).Float64d2— grado de libertadd2enX = (S1 / d1) / (S2 / d2).Float64x— 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 obtenido de la distribución F especificada Float64
Ejemplos
Ejemplo de uso
SELECT randFisherF(10, 3) FROM numbers(5)┌─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.Float64stddev— La desviación estándar de la distribución.Float64x— 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 obtenido de la distribución log-normal especificada. Float64
Ejemplos
Ejemplo de uso
SELECT randLogNormal(100, 5) FROM numbers(5)┌─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.UInt64probability—La probabilidad de fallo en cada experimento, como un valor entre0y1. [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 obtenido de la distribución binomial negativa especificada UInt64
Ejemplos
Ejemplo de uso
SELECT randNegativeBinomial(100, .75) FROM numbers(5)┌─randNegativeBinomial(100, 0.75)─┐
│ 33 │
│ 32 │
│ 39 │
│ 40 │
│ 50 │
└─────────────────────────────────┘randNormal
Introducido en: v22.10.0
Devuelve un número aleatorio de tipo Float64 obtenido de una distribución normal.
Sintaxis
randNormal(mean, stddev[, x])Argumentos
mean— La media de la distribuciónFloat64stddev— La desviación estándar de la distribuciónFloat64x— 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 obtenido de la distribución normal especificada. Float64
Ejemplos
Ejemplo de uso
SELECT randNormal(10, 2) FROM numbers(5)┌──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 obtenido de una distribución de Poisson.
Sintaxis
randPoisson(n[, x])Argumentos
n— El número medio de ocurrencias.UInt64x— 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
SELECT randPoisson(10) FROM numbers(5)┌─randPoisson(10)─┐
│ 8 │
│ 8 │
│ 7 │
│ 10 │
│ 6 │
└─────────────────┘randStudentT
Introducido en: v22.10.0
Devuelve un número Float64 aleatorio obtenido de una distribución t de Student.
Sintaxis
randStudentT(degree_of_freedom[, x])Argumentos
degree_of_freedom— Grados de libertad.Float64x— 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
SELECT randStudentT(10) FROM numbers(5)┌─────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].
Sintaxis
randUniform(min, max[, x])Argumentos
min— Límite izquierdo del rango (incluido).Float64max— Límite derecho del rango (incluido).Float64x— 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
SELECT randUniform(5.5, 10) FROM numbers(5)┌─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
SELECT randomFixedString(13) AS rnd, toTypeName(rnd)┌─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
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
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
SELECT randomString(5) AS str FROM numbers(2)���
�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
SELECT randomStringUTF8(13)┌─randomStringUTF8(13)─┐
│ 𲉗𩍄ԍ╃𑄅 │
└──────────────────────┘