以前从一个表中随机获取数据的时候,都是先把数据读取到来,
然后再在程序中来随机抽取一部分数据, 今天告诉大家一种使用 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