> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentação de funções usadas para gerar números aleatórios

# Funções para gerar números aleatórios

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](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination), para que duas execuções diferentes da mesma função aleatória em uma mesma linha
retornem valores aleatórios diferentes.

Conteúdo relacionado

* Guia: [Gerando dados aleatórios no ClickHouse](/pt-BR/guides/clickhouse/data-modelling/generating-test-data)
* Blog: [Gerando dados aleatórios no ClickHouse](https://clickhouse.com/blog/generating-random-test-distribution-data-for-clickhouse)

<Note>
  Os números aleatórios são gerados por algoritmos não criptográficos.
</Note>

<Note>
  A documentação abaixo é gerada a partir da tabela do sistema `system.functions`.
</Note>

{/*AUTOGENERATED_START*/}

<div id="fuzzBits">
  ## fuzzBits
</div>

Introduzido na versão: v20.5.0

Inverte os bits da string de entrada `s`, com probabilidade `p` para cada bit.

**Sintaxe**

```sql theme={null}
fuzzBits(s, p)
```

**Argumentos**

* `s` — `String` ou `FixedString` em que será aplicado o fuzzing de bits [`String`](/pt-BR/reference/data-types/string) ou [`FixedString`](/pt-BR/reference/data-types/fixedstring)
* `p` — Probabilidade de inverter cada bit, como um número entre `0.0` e `1.0` [`Float*`](/pt-BR/reference/data-types/float)

**Valor retornado**

Retorna uma string com fuzzing do mesmo tipo que `s`. [`String`](/pt-BR/reference/data-types/string) ou [`FixedString`](/pt-BR/reference/data-types/fixedstring)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT fuzzBits(materialize('abacaba'), 0.1)
FROM numbers(3)
```

```response title=Response theme={null}
┌─fuzzBits(materialize('abacaba'), 0.1)─┐
│ abaaaja                               │
│ a*cjab+                               │
│ aeca2A                                │
└───────────────────────────────────────┘
```

<div id="rand">
  ## rand
</div>

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**

```sql theme={null}
rand([x])
```

**Aliases**: `rand32`

**Argumentos**

* `x` — Opcional e ignorado. A única finalidade do argumento é impedir a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório do tipo `UInt32`. [`UInt32`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT rand();
```

```response title=Response theme={null}
1569354847
```

<div id="rand64">
  ## rand64
</div>

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**

```sql theme={null}
rand64([x])
```

**Argumentos**

* `x` — Opcional e ignorado. O único propósito do argumento é impedir a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada da função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório UInt64 com distribuição uniforme. [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT rand64();
```

```response title=Response theme={null}
15030268859237645412
```

<div id="randBernoulli">
  ## randBernoulli
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório obtido de uma [distribuição de Bernoulli](https://en.wikipedia.org/wiki/Bernoulli_distribution).

**Sintaxe**

```sql theme={null}
randBernoulli(probability[, x])
```

**Argumentos**

* `probability` — A probabilidade de sucesso, representada por um valor entre `0` e `1`. [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. A única finalidade desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório do tipo Float64 extraído da distribuição de Bernoulli especificada. [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randBernoulli(.75) FROM numbers(5)
```

```response title=Response theme={null}
┌─randBernoulli(0.75)─┐
│                   1 │
│                   1 │
│                   0 │
│                   1 │
│                   1 │
└─────────────────────┘
```

<div id="randBinomial">
  ## randBinomial
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório obtido de uma [distribuição binomial](https://en.wikipedia.org/wiki/Binomial_distribution).

**Sintaxe**

```sql theme={null}
randBinomial(experiments, probability[, x])
```

**Argumentos**

* `experiments` — O número de experimentos [`UInt64`](/pt-BR/reference/data-types/int-uint)
* `probability` — A probabilidade de sucesso em cada experimento, como um valor entre `0` e `1` [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. A única finalidade do argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório Float64 gerado a partir da distribuição binomial especificada. [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randBinomial(100, .75) FROM numbers(5)
```

```response title=Response theme={null}
┌─randBinomial(100, 0.75)─┐
│                      74 │
│                      78 │
│                      76 │
│                      77 │
│                      80 │
└─────────────────────────┘
```

<div id="randCanonical">
  ## randCanonical
</div>

Introduzido em: v22.11.0

Retorna um número aleatório `Float64` com distribuição uniforme entre `0` (inclusive) e `1` (exclusivo).

**Sintaxe**

```sql theme={null}
randCanonical([x])
```

**Argumentos**

* `x` — Opcional e ignorado. O único propósito do argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório do tipo Float64. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randCanonical();
```

```response title=Response theme={null}
0.345217890123456
```

<div id="randChiSquared">
  ## randChiSquared
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório amostrado de uma [distribuição qui-quadrado](https://en.wikipedia.org/wiki/Chi-squared_distribution).

**Sintaxe**

```sql theme={null}
randChiSquared(degree_of_freedom[, x])
```

**Argumentos**

* `degree_of_freedom` — Graus de liberdade. [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. Esse argumento tem como único propósito evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório do tipo Float64 extraído da distribuição qui-quadrado especificada. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randChiSquared(10) FROM numbers(5)
```

```response title=Response theme={null}
┌─randChiSquared(10)─┐
│ 10.015463656521543 │
│  9.621799919882768 │
│   2.71785015634699 │
│ 11.128188665931908 │
│  4.902063104425469 │
└────────────────────┘
```

<div id="randConstant">
  ## randConstant
</div>

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**

```sql theme={null}
randConstant([x])
```

**Argumentos**

* `x` — Opcional e ignorado. O único objetivo do argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna uma coluna do tipo `UInt32` contendo o mesmo valor aleatório em cada linha. [`UInt32`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT randConstant() AS random_value;
```

```response title=Response theme={null}
| random_value |
|--------------|
| 1234567890   |
```

**Uso com parâmetro**

```sql title=Query theme={null}
SELECT randConstant(10) AS random_value;
```

```response title=Response theme={null}
| random_value |
|--------------|
| 9876543210   |
```

<div id="randExponential">
  ## randExponential
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório gerado a partir de uma [distribuição exponencial](https://en.wikipedia.org/wiki/Exponential_distribution).

**Sintaxe**

```sql theme={null}
randExponential(lambda[, x])
```

**Argumentos**

* `lambda` — Parâmetro de taxa, ou valor lambda, da distribuição [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. O argumento tem como único propósito evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório do tipo Float64 extraído da distribuição exponencial especificada. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randExponential(1/10) FROM numbers(5)
```

```response title=Response theme={null}
┌─randExponential(divide(1, 10))─┐
│              44.71628934340778 │
│              4.211013337903262 │
│             10.809402553207766 │
│              15.63959406553284 │
│             1.8148392319860158 │
└────────────────────────────────┘
```

<div id="randFisherF">
  ## randFisherF
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório de uma [distribuição F](https://en.wikipedia.org/wiki/F-distribution).

**Sintaxe**

```sql theme={null}
randFisherF(d1, d2[, x])
```

**Argumentos**

* `d1` — grau de liberdade d1 em `X = (S1 / d1) / (S2 / d2)`. [`Float64`](/pt-BR/reference/data-types/float)
* `d2` — grau de liberdade d2 em `X = (S1 / d1) / (S2 / d2)`. [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. O único propósito do argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório do tipo Float64 gerado a partir da distribuição F especificada [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randFisherF(10, 3) FROM numbers(5)
```

```response title=Response theme={null}
┌─randFisherF(10, 20)─┐
│  0.7204609609506184 │
│  0.9926258472572916 │
│  1.4010752726735863 │
│ 0.34928401507025556 │
│  1.8216216009473598 │
└─────────────────────┘
```

<div id="randLogNormal">
  ## randLogNormal
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório extraído de uma [distribuição log-normal](https://en.wikipedia.org/wiki/Log-normal_distribution).

**Sintaxe**

```sql theme={null}
randLogNormal(mean, stddev[, x])
```

**Argumentos**

* `mean` — A média da distribuição. [`Float64`](/pt-BR/reference/data-types/float)
* `stddev` — O desvio padrão da distribuição. [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. O único objetivo desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório `Float64` gerado a partir da distribuição log-normal especificada. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randLogNormal(100, 5) FROM numbers(5)
```

```response title=Response theme={null}
┌─randLogNormal(100, 5)─┐
│  1.295699673937363e48 │
│  9.719869109186684e39 │
│  6.110868203189557e42 │
│  9.912675872925529e39 │
│ 2.3564708490552458e42 │
└───────────────────────┘
```

<div id="randNegativeBinomial">
  ## randNegativeBinomial
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório extraído de uma [distribuição binomial negativa](https://en.wikipedia.org/wiki/Negative_binomial_distribution).

**Sintaxe**

```sql theme={null}
randNegativeBinomial(experiments, probability[, x])
```

**Argumentos**

* `experiments` — O número de experimentos. [`UInt64`](/pt-BR/reference/data-types/int-uint)
* `probability` — `A probabilidade de falha em cada experimento, como um valor entre `0`e`1`. [`Float64\`]\(/reference/data-types/float)
* `x` — Opcional e ignorado. O único objetivo desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número Float64 aleatório gerado a partir da distribuição binomial negativa especificada [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randNegativeBinomial(100, .75) FROM numbers(5)
```

```response title=Response theme={null}
┌─randNegativeBinomial(100, 0.75)─┐
│                              33 │
│                              32 │
│                              39 │
│                              40 │
│                              50 │
└─────────────────────────────────┘
```

<div id="randNormal">
  ## randNormal
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório gerado a partir de uma [distribuição normal](https://en.wikipedia.org/wiki/Normal_distribution).

**Sintaxe**

```sql theme={null}
randNormal(mean, stddev[, x])
```

**Argumentos**

* `mean` — O valor médio da distribuição [`Float64`](/pt-BR/reference/data-types/float)
* `stddev` — O desvio padrão da distribuição [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. A única finalidade desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório do tipo Float64 extraído da distribuição normal especificada. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randNormal(10, 2) FROM numbers(5)
```

```response title=Response theme={null}
┌──randNormal(10, 2)─┐
│ 13.389228911709653 │
│  8.622949707401295 │
│ 10.801887062682981 │
│ 4.5220192605895315 │
│ 10.901239123982567 │
└────────────────────┘
```

<div id="randPoisson">
  ## randPoisson
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório gerado a partir de uma [distribuição de Poisson](https://en.wikipedia.org/wiki/Poisson_distribution).

**Sintaxe**

```sql theme={null}
randPoisson(n[, x])
```

**Argumentos**

* `n` — O número médio de ocorrências. [`UInt64`](/pt-BR/reference/data-types/int-uint)
* `x` — Opcional e ignorado. O único objetivo desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número Float64 aleatório gerado a partir da distribuição de Poisson especificada. [`UInt64`](/pt-BR/reference/data-types/int-uint)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randPoisson(10) FROM numbers(5)
```

```response title=Response theme={null}
┌─randPoisson(10)─┐
│               8 │
│               8 │
│               7 │
│              10 │
│               6 │
└─────────────────┘
```

<div id="randStudentT">
  ## randStudentT
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório extraído de uma [distribuição t de Student](https://en.wikipedia.org/wiki/Student%27s_t-distribution).

**Sintaxe**

```sql theme={null}
randStudentT(degree_of_freedom[, x])
```

**Argumentos**

* `degree_of_freedom` — Graus de liberdade. [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. O único objetivo desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório do tipo Float64 extraído da distribuição t de Student especificada. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randStudentT(10) FROM numbers(5)
```

```response title=Response theme={null}
┌─────randStudentT(10)─┐
│   1.2217309938538725 │
│   1.7941971681200541 │
│ -0.28192176076784664 │
│   0.2508897721303792 │
│  -2.7858432909761186 │
└──────────────────────┘
```

<div id="randUniform">
  ## randUniform
</div>

Introduzido em: v22.10.0

Retorna um número Float64 aleatório gerado com distribuição uniforme no intervalo $[\min, \max]$.

**Sintaxe**

```sql theme={null}
randUniform(min, max[, x])
```

**Argumentos**

* `min` — Limite esquerdo do intervalo (inclusive). [`Float64`](/pt-BR/reference/data-types/float)
* `max` — Limite direito do intervalo (inclusive). [`Float64`](/pt-BR/reference/data-types/float)
* `x` — Opcional e ignorado. O único propósito desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna um número aleatório gerado com distribuição uniforme no intervalo formado por `min` e `max`. [`Float64`](/pt-BR/reference/data-types/float)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randUniform(5.5, 10) FROM numbers(5)
```

```response title=Response theme={null}
┌─randUniform(5.5, 10)─┐
│    8.094978491443102 │
│   7.3181248914450885 │
│    7.177741903868262 │
│    6.483347380953762 │
│    6.122286382885112 │
└──────────────────────┘
```

<div id="randomFixedString">
  ## randomFixedString
</div>

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**

```sql theme={null}
randomFixedString(length)
```

**Argumentos**

* `length` — Comprimento da string em bytes. [`UInt*`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Retorna uma string preenchida com bytes aleatórios. [`FixedString`](/pt-BR/reference/data-types/fixedstring)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randomFixedString(13) AS rnd, toTypeName(rnd)
```

```response title=Response theme={null}
┌─rnd──────┬─toTypeName(randomFixedString(13))─┐
│ j▒h㋖HɨZ'▒ │ FixedString(13)                 │
└──────────┴───────────────────────────────────┘
```

<div id="randomPrintableASCII">
  ## randomPrintableASCII
</div>

Introduzido em: v20.1.0

Gera uma string [ASCII](https://en.wikipedia.org/wiki/ASCII#Printable_characters) aleatória com a quantidade especificada de caracteres.

Se você passar `length < 0`, o comportamento da função será indefinido.

**Sintaxe**

```sql theme={null}
randomPrintableASCII(length[, x])
```

**Argumentos**

* `length` — Tamanho da string em bytes. [`(U)Int*`](/pt-BR/reference/data-types/int-uint)
* `x` — Opcional e ignorado. A única finalidade desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna uma string com uma sequência aleatória de caracteres ASCII imprimíveis. [`String`](/pt-BR/reference/data-types/string)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT number, randomPrintableASCII(30) AS str, length(str) FROM system.numbers LIMIT 3
```

```response title=Response theme={null}
┌─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 │
└────────┴────────────────────────────────┴──────────────────────────────────┘
```

<div id="randomString">
  ## randomString
</div>

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**

```sql theme={null}
randomString(length[, x])
```

**Argumentos**

* `length` — Tamanho da string em bytes. [`(U)Int*`](/pt-BR/reference/data-types/int-uint)
* `x` — Opcional e ignorado. O único propósito desse argumento é evitar a [eliminação de subexpressões comuns](/pt-BR/reference/functions/regular-functions/overview#common-subexpression-elimination) quando a mesma chamada de função é usada várias vezes em uma consulta. [`Any`](/pt-BR/reference/data-types)

**Valor retornado**

Retorna uma string composta por bytes aleatórios. [`String`](/pt-BR/reference/data-types/string)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randomString(5) AS str FROM numbers(2)
```

```response title=Response theme={null}
���
�v6B�
```

<div id="randomStringUTF8">
  ## randomStringUTF8
</div>

Introduzido na versão: v20.5.0

Gera uma string [UTF-8](https://en.wikipedia.org/wiki/UTF-8) aleatória com o número especificado de pontos de código.
Nenhum ponto de código de [planos](https://en.wikipedia.org/wiki/Plane_\(Unicode\)) 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**

```sql theme={null}
randomStringUTF8(length)
```

**Argumentos**

* `length` — Comprimento da string em pontos de código. [`(U)Int*`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Retorna uma string preenchida com pontos de código UTF-8 aleatórios. [`String`](/pt-BR/reference/data-types/string)

**Exemplos**

**Exemplo de uso**

```sql title=Query theme={null}
SELECT randomStringUTF8(13)
```

```response title=Response theme={null}
┌─randomStringUTF8(13)─┐
│ 𘤗𙉝д兠庇󡅴󱱎󦐪􂕌𔊹𓰛       │
└──────────────────────┘
```
