dbms_random.value概念:
SQL> select dbms_random.value from dual;(dbms_random.value它是个随机值)
VALUE
----------
.217841143
即使你给它确定了位置(例如1至10,它也跟随自己小数值定位8位,取随机值)
SQL> select dbms_random.value(1,10) from dual;
DBMS_RANDOM.VALUE(1,10)
-----------------------
5.13335332
如果,想得到你想要的随机值,可以使用trunc
SQL> select trunc(dbms_random.value(1,10)) from dual;(这样,他就在你的设置范围内了)
TRUNC(DBMS_RANDOM.VALUE(1,10))
------------------------------
3
所以,你随机出数据的话,可以类似如下使用:
SQL> select id from zsd.zsdtest order by trunc(dbms_random.value(1,10));(其中zsdtest表就只有10条数据)
ID
----------
4
7
3
5
2
8
10
6
1
9
当然你之前的那个方法也同样适用,不过我建议上面那种。(上面的语法可控)
SQL> select id from zsd.zsdtest order by dbms_random.value
2 ;
ID
----------
9
7
8
5
1
10
4
2
6
3
已选择10行。
本文深入探讨了在SQL环境中使用DBMS_RANDOM函数生成随机数的方法,包括基本用法、如何限制生成范围、以及如何通过trunc函数将随机数限定在指定区间内。并通过实例展示了如何利用这些技巧从特定表中随机抽取数据,提供了SQL随机数生成的实用指南。
5298

被折叠的 条评论
为什么被折叠?



