- Categorias:
UNIFORM¶
Gera um número pseudoaleatório distribuído uniformemente na faixa inclusiva [min
, max
].
Sintaxe¶
UNIFORM( <min> , <max> , <gen> )
Argumentos¶
min
Uma constante especificando o valor mínimo (inclusive) do número gerado.
max
Uma constante especificando o valor máximo (inclusive) do número gerado.
gen
Uma expressão que serve como uma fonte bruta de números aleatórios uniformes, tipicamente a função
RANDOM
. Para obter mais informações, consulte as funções de geração de dados Notas de uso.
Retornos¶
Se um ou ambos de min
ou max
for um número de ponto flutuante, UNIFORM
retornará um número de ponto flutuante. Se ambos min
e max
forem números inteiros, UNIFORM
retornará um número inteiro.
Notas de uso¶
Esta função está relacionada à função RANDOM, mas é diferente dela. Ambas as funções geram distribuições uniformes, mas há diferenças nas faixas dos valores retornados.
RANDOM
gera inteiros pseudoaleatórios de 64 bits. Aceita uma semente opcional que permite que as sequências se repitam.UNIFORM
gera números inteiros aleatórios ou de ponto flutuante na faixa especificada.
Exemplos¶
SELECT uniform(1, 10, random()) FROM table(generator(rowCount => 5));
--------------------------+
uniform(1, 10, random()) |
--------------------------+
6 |
4 |
7 |
9 |
4 |
--------------------------+
SELECT uniform(0::float, 1::float, random()) FROM table(generator(rowCount => 5));
---------------------------------------+
uniform(0::float, 1::float, random()) |
---------------------------------------+
0.2895427479 |
0.7178660941 |
0.6925603163 |
0.05914526824 |
0.8243151404 |
---------------------------------------+
SELECT uniform(1, 10, 1234) FROM table(generator(rowCount => 5));
----------------------+
uniform(1, 10, 1234) |
----------------------+
7 |
7 |
7 |
7 |
7 |
----------------------+