
Oracle에서 랜덤 번호를 생성하는 방법은 다양한데, 가장 일반적인 방법은 "DBMS_RANDOM" 패키지를 사용하는 것입니다.
예를 들어, 1부터 100까지의 랜덤한 숫자를 생성하려면 다음과 같이 "DBMS_RANDOM.VALUE" 함수를 사용합니다.
SELECT TRUNC(DBMS_RANDOM.VALUE(1, 100)) AS random_number
FROM DUAL;
위의 예시에서 "DBMS_RANDOM.VALUE(1, 100)" 함수는 1 이상 100 미만의 랜덤 숫자를 생성합니다. 이렇게 생성된 숫자를 "TRUNC" 함수를 사용하여 정수 형태로 변환합니다.
또한, 여러 개의 랜덤 번호를 한 번에 생성하려면 다음과 같이 "CONNECT BY LEVEL" 구문과 함께 사용합니다.
SELECT TRUNC(DBMS_RANDOM.VALUE(1, 100)) AS random_number
FROM DUAL
CONNECT BY LEVEL <= 10;
위의 예시에서 "CONNECT BY LEVEL <= 10" 구문은 10개의 로우를 생성합니다. 이렇게 생성된 로우에 대해서 "DBMS_RANDOM.VALUE(1, 100)" 함수를 호출하여 랜덤 숫자를 생성합니다.
또한, 중복되지 않는 랜덤 숫자를 생성하려면 "ROWNUM" 값을 이용하여 다음과 같이 쿼리를 작성할 수 있습니다.
SELECT *
FROM (
SELECT TRUNC(DBMS_RANDOM.VALUE(1, 100)) AS random_number
FROM DUAL
CONNECT BY LEVEL <= 100
)
WHERE ROWNUM <= 10;
위의 예시에서 "CONNECT BY LEVEL <= 100" 구문은 100개의 로우를 생성합니다. 이렇게 생성된 로우에 대해서 "DBMS_RANDOM.VALUE(1, 100)" 함수를 호출하여 랜덤 숫자를 생성합니다. 그리고 "ROWNUM" 값을 이용하여 처음 10개의 랜덤 숫자만 추출합니다. 이렇게 추출된 랜덤 숫자는 중복되지 않는 값을 가지게 됩니다.
'oracle' 카테고리의 다른 글
오라클 PARTITION BY 데이터 나누기 사용법과 예시 (0) | 2023.03.17 |
---|---|
오라클 Group by having 절 사용하기 (0) | 2023.03.07 |
오라클 case문 where 절에 활용하기 (0) | 2023.02.24 |
Oracle ROWID 사용하기 (0) | 2023.02.17 |
ORACLE 정렬함수의 종류와 활용 예시 (0) | 2023.01.26 |