- 카테고리:
UNIFORM¶
포함 범위 [min
, max
]에서 균일하게 분포된 의사 난수를 생성합니다.
구문¶
UNIFORM( <min> , <max> , <gen> )
인자¶
반환¶
min
또는 max
중 하나 또는 둘 다 부동 소수점 숫자인 경우 UNIFORM 은 부동 소수점 숫자를 반환합니다. min
및 max
가 모두 정수인 경우 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 |
+----------------------+