ORACLE的随机数包
--1. 随机数包 SELECT DBMS_RANDOM.VALUE FROM DUAL;
--2. 在[0..100]范围内取随机数 SELECT TRUNC (DBMS_RANDOM.VALUE (0, 100)) FROM DUAL;
--ROUND是四舍五入,TRUNC是截取,而 DBMS_RANDOM.VALUE的值范围是[0,1),所以上面只能是[0,100)范围的随机数,如果要取到100,即[0,100],那么使用ROUND。
--3. 大于字符‘A’的10个字符随机字符串 SELECT DBMS_RANDOM.STRING ('a', 10) FROM DUAL;
--4. 单个小写随机字符 SELECT CHR (ROUND (DBMS_RANDOM.VALUE (97, 122))) FROM DUAL;
--5. 在过去10天内取随机日期 SELECT TO_DATE (TRUNC (DBMS_RANDOM.VALUE (TO_NUMBER (TO_CHAR (SYSDATE - 10,'j')),TO_NUMBER (TO_CHAR (SYSDATE, 'j'))) ),'j') FROM DUAL;
--6. 在过去30分钟内取随机时间 SELECT (SYSDATE - 1 / 24 / 60 * 30) + DBMS_RANDOM.VALUE (1, 1800) / 3600 / 24 FROM DUAL;