- Categorias:
NORMAL¶
Gera um número de ponto flutuante pseudoaleatório e distribuído normalmente, com mean
e stddev
(desvio padrão) especificados.
Sintaxe¶
NORMAL( <mean> , <stddev> , <gen> )
Argumentos¶
mean
Uma constante especificando o valor em que os valores de saída devem ser centrados.
stddev
Uma constante especificando a largura de um desvio padrão.
Isto especifica a largura de um desvio padrão. Por exemplo, se você escolher uma média de 0,0 e um desvio padrão de 1,0, então se você chamar esta função muitas vezes, aproximadamente 68,2% dos valores retornados estarão entre -1,0 e +1,0 (isto é, dentro de um desvio padrão da média).
Da mesma forma, se você escolher uma média de 5,0 e um desvio padrão de 2, então aproximadamente 68,2% dos valores estarão entre 3,0 e 7,0.
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¶
Retorna um número de ponto flutuante aleatório. Os resultados acumulados de um grande número de chamadas repetidas aproximam-se de uma distribuição normal.
Notas de uso¶
Esta função está relacionada, mas difere da função RANDOM, tanto nos intervalos dos valores devolvidos como em sua distribuição.
RANDOM
gera números inteiros aleatórios de 64 bits em uma distribuição uniforme. Ele aceita uma semente opcional que permite a repetição de sequências aleatórias.Quando
RANDOM
é chamado um grande número de vezes, os resultados são distribuídos mais ou menos uniformemente pela faixa de valores possíveis. Por exemplo, o número de resultados com valores entre 1000 e 2000 é semelhante ao número de valores entre 2000 e 3000.NORMAL
gera números inteiros aleatórios ou de ponto flutuante centrados na média especificada, com o desvio padrão especificado.Quando
NORMAL
é chamado muitas vezes, é provável que a distribuição dos resultados se aproxime de uma curva “normal” (às vezes chamada de “curva em forma de sino”). O centro da curva e sua «amplitude» são influenciados pelos parâmetrosmean
estddev
. Valores mais próximos da média especificada são mais prováveis de ocorrer do que valores distantes da média.
Exemplos¶
Isso mostra o uso típico com uma média de 0 e um desvio padrão de 1:
SELECT normal(0, 1, random()) FROM table(generator(rowCount => 5)); +------------------------+ | NORMAL(0, 1, RANDOM()) | |------------------------| | 0.227384164 | | 0.9945290748 | | -0.2045078571 | | -1.594607893 | | -0.8213296842 | +------------------------+
Isso mostra que se o parâmetro gen
for uma constante, então a saída será uma constante:
SELECT normal(0, 1, 1234) FROM table(generator(rowCount => 5)); +--------------------+ | NORMAL(0, 1, 1234) | |--------------------| | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | | -0.6604156716 | +--------------------+