출처 : http://blog.naver.com/csaiur/10044212394
--랜덤 숫자 (양수/음수)
SELECT DBMS_RANDOM.RANDOM FROM DUAL;
--랜덤 숫자 (0~1 사이)
SELECT DBMS_RANDOM.VALUE FROM DUAL;
--랜덤 숫자 (1~1000 사이)
SELECT DBMS_RANDOM.VALUE(1,1000) RANDOM FROM DUAL;
--랜덤 숫자 (천억~조-1 사이)
SELECT DBMS_RANDOM.VALUE(100000000000, 999999999999) RANDOM FROM DUAL;
--대문자 20글자 랜덤
SELECT DBMS_RANDOM.STRING('U', 20) STR FROM DUAL;
--소문자 20글자 랜덤
SELECT DBMS_RANDOM.STRING('L', 20) STR FROM DUAL;
--대문자+소문자 20글자 랜덤
SELECT DBMS_RANDOM.STRING('A', 20) STR FROM DUAL;
--대문자+숫자 20글자 랜덤
SELECT DBMS_RANDOM.STRING('X', 20) STR FROM DUAL;
--대문자+소문자+숫자+특수문자 20글자 랜덤
SELECT DBMS_RANDOM.STRING('P', 20) STR FROM DUAL;
--응용 : 1~100 사이 양의정수만 랜덤으로 가져오기
SELECT FLOOR(DBMS_RANDOM.VALUE(1,100)) FROM DUAL;
--정렬을 랜덤으로 할 경우 (DBMS_RANDOM 이용시)
--VALUE()안에는 최소,최대값이 들어가지만 넣지 않아도 됨
SELECT * FROM 테이블명 ORDER BY DBMS_RANDOM.VALUE();
SELECT * FROM 테이블명 WHERE ROWNUM < 원하는건수 + 1 ORDER BY DBMS_RANDOM.VALUE();
--정렬을 랜덤으로 할 경우 (SAMPLE() 이용시)
--SAMPLE()안의 숫자는 백분률로 만일 총 100건일때 10건만 추출함
SELECT * FROM 테이블명 SAMPLE(10);
SELECT * FROM ADM_MENU SAMPLE(원하는백분률값) WHERE ROWNUM < 원하는건수 + 1;
'::: DB ::: > Oracle' 카테고리의 다른 글
database link 백업 또는 이관 방법 (0) | 2012.01.13 |
---|---|
ORA-02020: too many database links in use 에러 조치 방법 (0) | 2012.01.13 |
오라클 연단위 달력 쿼리 (0) | 2011.12.21 |
Client/Server/Interoperability Support Between Different Oracle Versions (0) | 2011.12.08 |
DataPump Export/Import Generate Messages "The Value (30) Of Maxtrans Parameter Ignored" in Alert Log (0) | 2011.11.22 |