首页 >

Oracle随机函数之dbms_random使用详解

数据库|mysql教程Oracle随机函数之dbms_random使用详解
oracle,dbms_random
数据库-mysql教程
卡乐购完美版官网源码,vscode调整代码格式插件,ubuntu vpn搭建,jsf tomcat,sqlite qq,网页设计趋势,163数据库购买,阿里云服务器搭建ftp,wordpress博客插件,前端开放框架,pad爬虫,php 短标签,华东seo,springboot租户实例,车辆电子标签 字段,模板网站seo,网页当前时间代码,织梦手机模板安装,上传的图片传给后台,滑动页面导航栏置顶,php小说网站管理系统,社区购物开源程序lzw
dbms_random是oracle提供的一个随机函数包,本文将详细介绍函数的使用,需要的朋友可以参考下
挂靠网网站源码,安装ubuntu在grub,tomcat不释放端口号,爬虫都有什么生肖,学习php最好的图文网站技术,seo营销加盟lzw
聊天回复源码,Ubuntu中ros遥控,忘记tomcat放在哪里了,网贷天眼爬虫,php开发小程序用什么框架,湛江seo接单lzw
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

生成一个指定范围内的数


代码如下:
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包详解
  • Oracle之DBMS_RANDOM包详解 | Oracle之DBMS_RANDOM包详解 ...

    Oracle随机函数之dbms_random使用详解
  • 通过DBMS_RANDOM得到随机
  • 通过DBMS_RANDOM得到随机 | 通过DBMS_RANDOM得到随机 ...

    Oracle随机函数之dbms_random使用详解
  • Oracle 随机函数 DBMS_RANDOM
  • Oracle 随机函数 DBMS_RANDOM | Oracle 随机函数 DBMS_RANDOM ...