본문 바로가기

ORACLE 자료

[ORACLE] ORACLE RANDOM 함수 활용하기 - DBMS_RANDOM.VALUE

 [ORACLE] ORACLE RANDOM 함수 활용하기 - DBMS_RANDOM.VALUE

 

   경품 행사 추첨 같이 무작위로 행을 SELECT 해야 하는 경우 DBMS_RANDOM.VALUE 함수를 활용하여

   데이터를 추출할 수 있다.

 

   예시)

 

1. select level,                          --distinct 100000
       round(dbms_random.value(1,10))  --distinct 10
from dual connect by level <= 100000;

 

 

2. SELECT *
  FROM
      (SELECT *
         FROM SMS.SC_SHOPMST
        ORDER BY DBMS_RANDOM.VALUE)
WHERE ROWNUM < 10;

 

 

3. SELECT trunc(DBMS_RANDOM.VALUE(1000, 10000)) || DBMS_RANDOM.STRING('A', 3) AS val
      FROM DUAL;

  

 

DBMS_RANDOM.STRING('A',3)에서

   'U'는 대문자로만

   'L'은 소문자로만

   'A'는 대, 소문자 혼합

   'X'는 대문자, 숫자 혼합임

    뒤에 3은 길이를 표현

 

  

유용한 함수이오니 활용해 보시기 바랍니다.