oracle随机获取数据

以前从一个表中随机获取数据的时候,都是先把数据读取到来,

然后再在程序中来随机抽取一部分数据, 今天告诉大家一种使用 SQL 语句的方法来随机获取一部分数据

SQL Server:

-- 随机获取 10 条数据
SELECT TOP 10 * FROM 表名 ORDER BY NEWID()

ORACLE:

-- 随机获取 10 条数据
SELECT * FROM (SELECT * FROM 表名  ORDER BY SYS_GUID()) WHERE ROWNUM <= 10;

-- 第二种方法

SELECT * FROM (SELECT * FROM 表名  ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10;
SELECT dbms_random.random()*10 random_string   FROM dual;
 select (FLOOR(dbms_random.value*999567895678)+1) from dual;
 select (FLOOR(dbms_random.value*8)+1)||'00' from dual;
 
 SELECT dbms_random.string('x', 13) random_string   FROM dual;
 SELECT lower( dbms_random.string('u', 1) )    FROM dual;
 select (FLOOR(dbms_random.value*27)+1) from dual;
 SELECT'1001'|| lower(chr((FLOOR(dbms_random.value*15)+65)))||'e',chr(65),chr(80) FROM dual;
 SELECT'1001'|| lower(chr((FLOOR(dbms_random.value*15)+65)))||'e' FROM dual


你可能感兴趣的:(oracle,随机)