Pular para o conteúdo principal
Todas as funções nesta seção aceitam zero ou um argumento. O único uso do argumento (se fornecido) é evitar a eliminação de subexpressões comuns, para que duas execuções diferentes da mesma função aleatória em uma mesma linha retornem valores aleatórios diferentes. Conteúdo relacionado
Os números aleatórios são gerados por algoritmos não criptográficos.
A documentação abaixo é gerada a partir da tabela do sistema system.functions.

fuzzBits

Introduzido na versão: v20.5.0 Inverte os bits da string de entrada s, com probabilidade p para cada bit. Sintaxe
fuzzBits(s, p)
Argumentos
  • sString ou FixedString em que será aplicado o fuzzing de bits String ou FixedString
  • p — Probabilidade de inverter cada bit, como um número entre 0.0 e 1.0 Float*
Valor retornado Retorna uma string com fuzzing do mesmo tipo que s. String ou FixedString Exemplos Exemplo de uso
Query
SELECT fuzzBits(materialize('abacaba'), 0.1)
FROM numbers(3)
Response
┌─fuzzBits(materialize('abacaba'), 0.1)─┐
│ abaaaja                               │
│ a*cjab+                               │
│ aeca2A                                │
└───────────────────────────────────────┘

rand

Introduzido em: v1.1.0 Retorna um número UInt32 aleatório com distribuição uniforme. Usa um gerador congruencial linear com um estado inicial obtido do sistema, o que significa que, embora pareça aleatório, não é realmente aleatório e pode ser previsível se o estado inicial for conhecido. Em cenários em que a aleatoriedade real é crucial, considere usar métodos alternativos, como chamadas em nível de sistema ou a integração com bibliotecas externas. Sintaxe
rand([x])
Aliases: rand32 Argumentos Valor retornado Retorna um número aleatório do tipo UInt32. UInt32 Exemplos Exemplo de uso
Query
SELECT rand();
Response
1569354847

rand64

Introduzido em: v1.1.0 Retorna um número UInt64 aleatório com distribuição uniforme. Usa um gerador congruencial linear com estado inicial obtido do sistema, o que significa que, embora pareça aleatório, não é realmente aleatório e pode ser previsível se o estado inicial for conhecido. Em cenários nos quais a aleatoriedade real é crucial, considere usar métodos alternativos, como chamadas em nível de sistema ou integração com bibliotecas externas. Sintaxe
rand64([x])
Argumentos Valor retornado Retorna um número aleatório UInt64 com distribuição uniforme. UInt64 Exemplos Exemplo de uso
Query
SELECT rand64();
Response
15030268859237645412

randBernoulli

Introduzido em: v22.10.0 Retorna um número Float64 aleatório obtido de uma distribuição de Bernoulli. Sintaxe
randBernoulli(probability[, x])
Argumentos
  • probability — A probabilidade de sucesso, representada por um valor entre 0 e 1. Float64
  • x — Opcional e ignorado. A única finalidade desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório do tipo Float64 extraído da distribuição de Bernoulli especificada. UInt64 Exemplos Exemplo de uso
Query
SELECT randBernoulli(.75) FROM numbers(5)
Response
┌─randBernoulli(0.75)─┐
│                   1 │
│                   1 │
│                   0 │
│                   1 │
│                   1 │
└─────────────────────┘

randBinomial

Introduzido em: v22.10.0 Retorna um número Float64 aleatório obtido de uma distribuição binomial. Sintaxe
randBinomial(experiments, probability[, x])
Argumentos
  • experiments — O número de experimentos UInt64
  • probability — A probabilidade de sucesso em cada experimento, como um valor entre 0 e 1 Float64
  • x — Opcional e ignorado. A única finalidade do argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório Float64 gerado a partir da distribuição binomial especificada. UInt64 Exemplos Exemplo de uso
Query
SELECT randBinomial(100, .75) FROM numbers(5)
Response
┌─randBinomial(100, 0.75)─┐
│                      74 │
│                      78 │
│                      76 │
│                      77 │
│                      80 │
└─────────────────────────┘

randCanonical

Introduzido em: v22.11.0 Retorna um número aleatório Float64 com distribuição uniforme entre 0 (inclusive) e 1 (exclusivo). Sintaxe
randCanonical([x])
Argumentos Valor retornado Retorna um número aleatório do tipo Float64. Float64 Exemplos Exemplo de uso
Query
SELECT randCanonical();
Response
0.345217890123456

randChiSquared

Introduzido em: v22.10.0 Retorna um número Float64 aleatório amostrado de uma distribuição qui-quadrado. Sintaxe
randChiSquared(degree_of_freedom[, x])
Argumentos
  • degree_of_freedom — Graus de liberdade. Float64
  • x — Opcional e ignorado. Esse argumento tem como único propósito evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório do tipo Float64 extraído da distribuição qui-quadrado especificada. Float64 Exemplos Exemplo de uso
Query
SELECT randChiSquared(10) FROM numbers(5)
Response
┌─randChiSquared(10)─┐
│ 10.015463656521543 │
│  9.621799919882768 │
│   2.71785015634699 │
│ 11.128188665931908 │
│  4.902063104425469 │
└────────────────────┘

randConstant

Introduzido em: v1.1.0 Gera um único valor aleatório que permanece constante em todas as linhas durante a execução da consulta atual. Esta função:
  • Retorna o mesmo valor aleatório para cada linha em uma única consulta
  • Produz valores diferentes em execuções distintas da consulta
Ela é útil para aplicar sementes aleatórias ou identificadores consistentes a todas as linhas de um conjunto de dados Sintaxe
randConstant([x])
Argumentos Valor retornado Retorna uma coluna do tipo UInt32 contendo o mesmo valor aleatório em cada linha. UInt32 Exemplos Uso básico
Query
SELECT randConstant() AS random_value;
Response
| random_value |
|--------------|
| 1234567890   |
Uso com parâmetro
Query
SELECT randConstant(10) AS random_value;
Response
| random_value |
|--------------|
| 9876543210   |

randExponential

Introduzido em: v22.10.0 Retorna um número Float64 aleatório gerado a partir de uma distribuição exponencial. Sintaxe
randExponential(lambda[, x])
Argumentos
  • lambda — Parâmetro de taxa, ou valor lambda, da distribuição Float64
  • x — Opcional e ignorado. O argumento tem como único propósito evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório do tipo Float64 extraído da distribuição exponencial especificada. Float64 Exemplos Exemplo 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

Introduzido em: v22.10.0 Retorna um número Float64 aleatório de uma distribuição F. Sintaxe
randFisherF(d1, d2[, x])
Argumentos
  • d1 — grau de liberdade d1 em X = (S1 / d1) / (S2 / d2). Float64
  • d2 — grau de liberdade d2 em X = (S1 / d1) / (S2 / d2). Float64
  • x — Opcional e ignorado. O único propósito do argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório do tipo Float64 gerado a partir da distribuição F especificada Float64 Exemplos Exemplo 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

Introduzido em: v22.10.0 Retorna um número Float64 aleatório extraído de uma distribuição log-normal. Sintaxe
randLogNormal(mean, stddev[, x])
Argumentos
  • mean — A média da distribuição. Float64
  • stddev — O desvio padrão da distribuição. Float64
  • x — Opcional e ignorado. O único objetivo desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório Float64 gerado a partir da distribuição log-normal especificada. Float64 Exemplos Exemplo 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

Introduzido em: v22.10.0 Retorna um número Float64 aleatório extraído de uma distribuição binomial negativa. Sintaxe
randNegativeBinomial(experiments, probability[, x])
Argumentos
  • experiments — O número de experimentos. UInt64
  • probabilityA probabilidade de falha em cada experimento, como um valor entre 0e1. [Float64`](/reference/data-types/float)
  • x — Opcional e ignorado. O único objetivo desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número Float64 aleatório gerado a partir da distribuição binomial negativa especificada UInt64 Exemplos Exemplo de uso
Query
SELECT randNegativeBinomial(100, .75) FROM numbers(5)
Response
┌─randNegativeBinomial(100, 0.75)─┐
│                              33 │
│                              32 │
│                              39 │
│                              40 │
│                              50 │
└─────────────────────────────────┘

randNormal

Introduzido em: v22.10.0 Retorna um número Float64 aleatório gerado a partir de uma distribuição normal. Sintaxe
randNormal(mean, stddev[, x])
Argumentos
  • mean — O valor médio da distribuição Float64
  • stddev — O desvio padrão da distribuição Float64
  • x — Opcional e ignorado. A única finalidade desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório do tipo Float64 extraído da distribuição normal especificada. Float64 Exemplos Exemplo 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

Introduzido em: v22.10.0 Retorna um número Float64 aleatório gerado a partir de uma distribuição de Poisson. Sintaxe
randPoisson(n[, x])
Argumentos
  • n — O número médio de ocorrências. UInt64
  • x — Opcional e ignorado. O único objetivo desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número Float64 aleatório gerado a partir da distribuição de Poisson especificada. UInt64 Exemplos Exemplo de uso
Query
SELECT randPoisson(10) FROM numbers(5)
Response
┌─randPoisson(10)─┐
│               8 │
│               8 │
│               7 │
│              10 │
│               6 │
└─────────────────┘

randStudentT

Introduzido em: v22.10.0 Retorna um número Float64 aleatório extraído de uma distribuição t de Student. Sintaxe
randStudentT(degree_of_freedom[, x])
Argumentos
  • degree_of_freedom — Graus de liberdade. Float64
  • x — Opcional e ignorado. O único objetivo desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório do tipo Float64 extraído da distribuição t de Student especificada. Float64 Exemplos Exemplo de uso
Query
SELECT randStudentT(10) FROM numbers(5)
Response
┌─────randStudentT(10)─┐
│   1.2217309938538725 │
│   1.7941971681200541 │
│ -0.28192176076784664 │
│   0.2508897721303792 │
│  -2.7858432909761186 │
└──────────────────────┘

randUniform

Introduzido em: v22.10.0 Retorna um número Float64 aleatório gerado com distribuição uniforme no intervalo [min,max][\min, \max]. Sintaxe
randUniform(min, max[, x])
Argumentos
  • min — Limite esquerdo do intervalo (inclusive). Float64
  • max — Limite direito do intervalo (inclusive). Float64
  • x — Opcional e ignorado. O único propósito desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna um número aleatório gerado com distribuição uniforme no intervalo formado por min e max. Float64 Exemplos Exemplo 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

Introduzido em: v20.5.0 Gera uma string aleatória de tamanho fixo com a quantidade especificada de caracteres. Os caracteres retornados não são necessariamente caracteres ASCII, ou seja, podem não ser imprimíveis. Sintaxe
randomFixedString(length)
Argumentos
  • length — Comprimento da string em bytes. UInt*
Valor retornado Retorna uma string preenchida com bytes aleatórios. FixedString Exemplos Exemplo de uso
Query
SELECT randomFixedString(13) AS rnd, toTypeName(rnd)
Response
┌─rnd──────┬─toTypeName(randomFixedString(13))─┐
│ j▒h㋖HɨZ'▒ │ FixedString(13)                 │
└──────────┴───────────────────────────────────┘

randomPrintableASCII

Introduzido em: v20.1.0 Gera uma string ASCII aleatória com a quantidade especificada de caracteres. Se você passar length < 0, o comportamento da função será indefinido. Sintaxe
randomPrintableASCII(length[, x])
Argumentos
  • length — Tamanho da string em bytes. (U)Int*
  • x — Opcional e ignorado. A única finalidade desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna uma string com uma sequência aleatória de caracteres ASCII imprimíveis. String Exemplos Exemplo 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

Introduzido em: v20.5.0 Gera uma string aleatória com a quantidade especificada de caracteres. Os caracteres retornados não são necessariamente caracteres ASCII, ou seja, podem não ser imprimíveis. Sintaxe
randomString(length[, x])
Argumentos
  • length — Tamanho da string em bytes. (U)Int*
  • x — Opcional e ignorado. O único propósito desse argumento é evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes em uma consulta. Any
Valor retornado Retorna uma string composta por bytes aleatórios. String Exemplos Exemplo de uso
Query
SELECT randomString(5) AS str FROM numbers(2)
Response
���
�v6B�

randomStringUTF8

Introduzido na versão: v20.5.0 Gera uma string UTF-8 aleatória com o número especificado de pontos de código. Nenhum ponto de código de planos não atribuídos (planos de 4 a 13) é retornado. Ainda é possível que o cliente que interage com o servidor ClickHouse não consiga exibir corretamente a string UTF-8 gerada. Sintaxe
randomStringUTF8(length)
Argumentos
  • length — Comprimento da string em pontos de código. (U)Int*
Valor retornado Retorna uma string preenchida com pontos de código UTF-8 aleatórios. String Exemplos Exemplo de uso
Query
SELECT randomStringUTF8(13)
Response
┌─randomStringUTF8(13)─┐
│ 𘤗𙉝д兠庇󡅴󱱎󦐪􂕌𔊹𓰛       │
└──────────────────────┘
Última modificação em 10 de junho de 2026