카테고리:

데이터 생성 함수

UNIFORM

포함 범위 [min, max]에서 균일하게 분포된 의사 난수를 생성합니다.

구문

UNIFORM( <min> , <max> , <gen> )

인자

min

생성된 숫자의 최소값(포함)을 지정하는 상수입니다.

max

생성된 숫자의 최대값(포함)을 지정하는 상수입니다.

gen

균일한 난수의 원시 원본 역할을 하는 식으로, 일반적으로 RANDOM 함수입니다. 자세한 내용은 데이터 생성 함수 사용법 노트 를 참조하십시오.

반환

min 또는 max 중 하나 또는 둘 다 부동 소수점 숫자인 경우 UNIFORM 은 부동 소수점 숫자를 반환합니다. minmax 가 모두 정수인 경우 UNIFORM 은 정수를 반환합니다.

사용법 노트

이 함수는 RANDOM 함수와 관련이 있지만 다릅니다. 두 함수는 모두 균일한 분포를 생성하지만, 반환되는 값의 범위에는 차이가 있습니다.

  • RANDOM 은 의사 난수 64비트 정수를 생성합니다. 이 함수는 시퀀스를 반복할 수 있는 선택적 시드를 허용합니다.

  • UNIFORM 은 지정된 범위에서 임의의 정수 또는 부동 소수점 숫자를 생성합니다.

다음 예는 UNIFORM 함수 사용 방법을 보여줍니다. 아래 출력에 표시된 값은 이러한 예를 직접 실행할 때 반환된 값과 다를 수 있습니다.

이 예제는 1에서 10(포함) 범위의 임의의 정수 5개를 생성합니다.

SELECT UNIFORM(1, 10, RANDOM()) FROM TABLE(GENERATOR(ROWCOUNT => 5));
+--------------------------+
| UNIFORM(1, 10, RANDOM()) |
|--------------------------|
|                        6 |
|                        1 |
|                        8 |
|                        5 |
|                        6 |
+--------------------------+

이 예에서는 0~1(포함) 범위의 부동 소수점 숫자 5개를 생성합니다.

SELECT UNIFORM(0::FLOAT, 1::FLOAT, RANDOM()) FROM TABLE(GENERATOR(ROWCOUNT => 5));
+---------------------------------------+
| UNIFORM(0::FLOAT, 1::FLOAT, RANDOM()) |
|---------------------------------------|
|                         0.1180758313  |
|                         0.4945805484  |
|                         0.7113092833  |
|                         0.06170806767 |
|                         0.01635235156 |
+---------------------------------------+

이 예에서는 gen 인자가 상수이면 출력이 상수임을 보여줍니다.

SELECT UNIFORM(1, 10, 1234) FROM TABLE(GENERATOR(ROWCOUNT => 5));
+----------------------+
| UNIFORM(1, 10, 1234) |
|----------------------|
|                    7 |
|                    7 |
|                    7 |
|                    7 |
|                    7 |
+----------------------+