소프트웨어/Oracle

오라클 랜덤 함수

sinpk 2013. 11. 28. 16:29

select DBMS_RANDOM.VALUE(0,  10) from dual --랜덤한 숫자 생성 (0부터 10 사이에서)

 

select ROUND(DBMS_RANDOM.VALUE(1,  10), 0) from dual --ROUND함수를 이용한 소수점 제거

 

select LPAD(ROUND(DBMS_RANDOM.VALUE(0, 1) *10000000000), 10, '0') from dual --소수점을 이용하여 10자리의 숫자 생성

 

select DBMS_RANDOM.STRING('U',  20) from dual --대문자

 

select DBMS_RANDOM.STRING('L',  20) from dual --소문자

 

select DBMS_RANDOM.STRING('A',  20) from dual --Alpanumeric

 

select DBMS_RANDOM.STRING('X',  20) from dual --Alpanumeric(대문자)

 

select DBMS_RANDOM.STRING('P',  20) from dual --출력가능한 문

 

--마지막으로 오라클 인증키 난수 발생

SELECT '1566' || DBMS_RANDOM.STRING('U',4) || DBMS_RANDOM.STRING('X',4) || 'F_' || LPAD(ROUND(DBMS_RANDOM.VALUE(0 ,1) * 10000),4,'0') CERTI_KEY,LEVEL
FROM DUAL
CONNECT BY LEVEL <= 100;