- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Oracle随机函数之dbms_random使用详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
dbms_random是oracle提供的一个随机函数包,以下介绍一些dbms_random的常用示例: dbms_random.value用法: 生成一个大于等于0,小于等于1的38位小数 。
复制代码代码如下
-- FUNCTION value RETURN NUMBER; select dbms_random.value from dual; SQL> select dbms_random.value from dual; VALUE ---------- 0.61011338 。
。
复制代码代码如下
-- FUNCTION value RETURN NUMBER; select dbms_random.value from dual; SQL> select dbms_random.value from dual; VALUE ---------- 0.61011338 。
生成一个指定范围内的数</ p> 。
复制代码代码如下
select dbms_random.value(100,0) from dual; SQL> select dbms_random.value(100,0) 2 from dual; DBMS_RANDOM.VALUE(100,0) ------------------------ 20.7742244285517 。
。
复制代码代码如下
-- FUNCTION value (low IN NUMBER, high IN NUMBER) RETURN NUMBER; select dbms_random.value(100,0) from dual; SQL> select dbms_random.value(100,0) 2 from dual; DBMS_RANDOM.VALUE(100,0) ------------------------ 20.7742244285517 。
dbms_random.normal用法 获取正态分布的随机数 。
复制代码代码如下
select dbms_random.normal from dual; SQL> select dbms_random.normal from dual; NORMAL ---------- -1.7330759 。
。
复制代码代码如下
select dbms_random.normal from dual; SQL> select dbms_random.normal from dual; NORMAL ---------- -1.7330759 。
dbms_random.string用法 获取指定字符串 。
复制代码代码如下
/* "opt" specifies that the returned string may contain: 'u','U' : upper case alpha characters only 'l','L' : lower case alpha characters only 'a','A' : alpha characters only (mixed case) 'x','X' : any alpha-numeric characters (upper) 'p','P' : any printable characters */ SQL> select dbms_random.string('u',10) from dual union all select dbms_random.string('U',10) from dual union all select dbms_random.string('l',10) from dual union all select dbms_random.string('L',10) from dual union all select dbms_random.string('a',10) from dual union all select dbms_random.string('A',10) from dual union all select dbms_random.string('x',10) from dual union all select dbms_random.string('X',10) from dual union all select dbms_random.string('P',10) from dual union all select dbms_random.string('P',10) from dual; 。
。
复制代码代码如下
--FUNCTION string (opt char, len NUMBER) /* "opt" specifies that the returned string may contain: 'u','U' : upper case alpha characters only 'l','L' : lower case alpha characters only 'a','A' : alpha characters only (mixed case) 'x','X' : any alpha-numeric characters (upper) 'p','P' : any printable characters */ SQL> select dbms_random.string('u',10) from dual union all select dbms_random.string('U',10) from dual union all select dbms_random.string('l',10) from dual union all select dbms_random.string('L',10) from dual union all select dbms_random.string('a',10) from dual union all select dbms_random.string('A',10) from dual union all select dbms_random.string('x',10) from dual union all select dbms_random.string('X',10) from dual union all select dbms_random.string('P',10) from dual union all select dbms_random.string('P',10) from dual; 。
DBMS_RANDOM.STRING(‘U',10) —————————- TXREHAICRI VDTMXZORVB udavjpudfb hvfqhjjdgz tZoanQzxtX siATLEZXQa 2LWWZ3H3L5 ZF6MKKG1R7 #\j5IPva(W sJe/srX:ZB 10 rows selected dbms_random.seed用法 –可以设置seed来确定随机数的起始点,对于相同的seed而言,随机数的任意一次变化都将是确定的。 – 就是说,如果在某一时刻调用了seed,之后第一次产生的随机数是4,第二次是6,第三次是1, – 那么当你再次调用相同的seed之后,一次产生的随机数还是4、6、1 – seed有两种,一种是数值型的,一种是字符型(最大长度2000)的 。
复制代码代码如下
SELECT USERENV('SESSIONID') FROM DUAL; BEGIN dbms_random.seed(6); END; / SELECT DBMS_RANDOM.value FROM DUAL CONNECT BY LEVEL < 10; 。
。
复制代码代码如下
SELECT USERENV('SESSIONID') FROM DUAL; BEGIN dbms_random.seed(6); END; / SELECT DBMS_RANDOM.value FROM DUAL CONNECT BY LEVEL < 10; 。
--SESSION 1 。
复制代码代码如下
SQL> SELECT USERENV('SESSIONID') 2 FROM DUAL; USERENV('SESSIONID') -------------------- 15140521 SQL> BEGIN 2 dbms_random.seed(100); 3 END; 4 / PL/SQL procedure successfully completed SQL> SELECT DBMS_RANDOM.value 2 FROM DUAL 3 CONNECT BY LEVEL < 10; VALUE ---------- 0.53801770 0.67499536 0.65362270 0.76351985 0.29859834 0.40522032 0.99551636 0.39565580 0.18074760 9 rows selected 。
。
复制代码代码如下
SQL> SELECT USERENV('SESSIONID') 2 FROM DUAL; USERENV('SESSIONID') -------------------- 15140521 SQL> BEGIN 2 dbms_random.seed(100); 3 END; 4 / PL/SQL procedure successfully completed SQL> SELECT DBMS_RANDOM.value 2 FROM DUAL 3 CONNECT BY LEVEL < 10; VALUE ---------- 0.53801770 0.67499536 0.65362270 0.76351985 0.29859834 0.40522032 0.99551636 0.39565580 0.18074760 9 rows selected 。
--SESSION 2 。
复制代码代码如下
SQL> SELECT USERENV('SESSIONID') 2 FROM DUAL; USERENV('SESSIONID') -------------------- 15140517 SQL> BEGIN 2 dbms_random.seed(100); 3 END; 4 / PL/SQL procedure successfully completed SQL> SELECT DBMS_RANDOM.value 2 FROM DUAL 3 CONNECT BY LEVEL < 10; VALUE ---------- 0.53801770 0.67499536 0.65362270 0.76351985 0.29859834 0.40522032 0.99551636 0.39565580 0.18074760 9 rows selected 。
。
复制代码代码如下
SQL> SELECT USERENV('SESSIONID') 2 FROM DUAL; USERENV('SESSIONID') -------------------- 15140517 SQL> BEGIN 2 dbms_random.seed(100); 3 END; 4 / PL/SQL procedure successfully completed SQL> SELECT DBMS_RANDOM.value 2 FROM DUAL 3 CONNECT BY LEVEL < 10; VALUE ---------- 0.53801770 0.67499536 0.65362270 0.76351985 0.29859834 0.40522032 0.99551636 0.39565580 0.18074760 9 rows selected 。
最后此篇关于Oracle随机函数之dbms_random使用详解的文章就讲到这里了,如果你想了解更多关于Oracle随机函数之dbms_random使用详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我们的数据库团队希望从 PUBLIC 撤销 DBMS_RANDOM 上的执行,以解决安全问题。如果你用谷歌搜索它,一些安全专家会认为这个包很危险,但没有说出原因。 Ingram 和 Shaul 的书《
我对 Oracle SQL 还很陌生,但我在互联网上搜索了一下,发现能够从表中随机提取一行,并看到了这样的代码。 firstNameGen = connection.prepareStatement(
我使用 Oracle Database 11g 并且我有一个相当简单的代码: set serveroutput on format wrapped; declare result_ clob; beg
我有这个匿名 block : DECLARE V_DATA DATE; BEGIN V_DATA := '01-GEN-2000'; HR.STATISTICHE.RATINGO
在 Oracle 11.2.0.4.0 上,当我运行以下查询时,每一行都会得到不同的结果: select r.n from ( select trunc(dbms_random.value(1,
This article here建议使用 dbms_random.value 从表中选择随机值。 我的查询 select value1, value2 from (select value1, va
我需要从表中获取 1000 条随机行并找到 Oracle 的解决方案。但是,如果我在从包含大量行的表中检索数据时使用此查询,则最多需要 3 分钟才能完成: SELECT column FROM ( S
如标题所示,当我使用 dbms_random 函数时,我得到一个 SQLException,如下所示: SELECT DBMS_RANDOM.value(1, 100) AS datas FROM d
我正在从一些表中随机抽取样本,并注意到根据我编写查询的方式,它不起作用。显然,我没有使用 all_tab_columns,我只是提供了一个适用于 vanilla 实例 (9.2.0.8) 的示例。 为
我是一名优秀的程序员,十分优秀!