oracle随机数 — dbms_random
ORACLE的PL/SQL提供了生成随机数和随机字符串的多种方式,罗列如下:
1、小数( 0 ~ 1)
select dbms_random.value from dual
2、指定范围内的小数 ( 0 ~ 100 )
select dbms_random.value(0,100) from dual
3、指定范围内的整数 ( 0 ~ 100 )
select trunc(dbms_random.value(0,100)) from dual
4、长度为20的随机数字串
select substr(cast(dbms_random.value as varchar2(38)),3,20) from dual
5、正态分布的随机数
select dbms_random.normal from dual
6、随机字符串
select dbms_random.string(opt, length) from dual
opt可取值如下:
'u','U' : 大写字母
'l','L' : 小写字母
'a','A' : 大、小写字母
'x','X' : 数字、大写字母
'p','P' : 可打印字符
7、随机日期
select to_date(2454084+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J') from dual
通过下面的语句获得指定日期的基数
select to_char(sysdate,'J') from dual
8、生成GUID
select sys_guid() from dual
--生成带分隔符(-)的GUID的自定义函数
create or replace function my_guid
return varchar2
is
guid varchar(36);
temp varchar(32);
begin
temp:=sys_guid();
guid:= substr(temp,1,8) || '-'
||substr(temp,9,4) || '-'
||substr(temp,13,4)|| '-'
||substr(temp,17,4)|| '-'
||substr(temp,21,12);
return guid;
end;
分享到:
相关推荐
在Oracle数据库系统中,`DBMS_RANDOM`是一个非常实用的包,它提供了生成随机数和随机字符串的功能。这个包在各种场景下都有广泛的应用,比如在测试数据的生成、模拟随机行为或者创建伪随机数据时。我们将深入探讨`...
Oracle数据库中的DBMS_RANDOM包是一个非常实用的工具,它提供了生成随机数和随机字符串的功能,广泛应用于各种场景,包括测试、模拟数据生成等。本文将详细介绍DBMS_RANDOM包的四个主要函数及其用法。 1. **dbms_...
Oracle的DBMS_RANDOM是一个强大的包,它提供了多种用于生成随机数据的函数,广泛应用于测试、数据分析、模拟等场景。在Oracle数据库中,你可以利用这些函数来创建不可预测的数据,这对于测试应用程序或者填充测试...
DBMS_RANDOM 是 Oracle 提供的一个内置包,用于生成随机数。要使用 DBMS_RANDOM 包,首先需要编译 dbmsrand.sql 文件,该文件位于 ORACLE_HOME/rdbms/admin 目录下。在 sys 用户下编译该文件后,DBMS_RANDOM 程序包...
- `F_Random_ZeroOrOne(DBMS_RANDOM.VALUE())`:调用前面定义的函数`F_Random_ZeroOrOne`生成0或1的随机数。 - `FROM st_pgz_r WHERE pgzid = 2 ORDER BY id;`:从`st_pgz_r`表中选择`pgzid`为2的记录,并按`id`排序...
首先,Oracle提供了一个内置的函数DBMS_RANDOM,它包含了一系列子程序用于生成随机数。其中最常用的函数是DBMS_RANDOM.VALUE,这个函数可以返回一个在0(包含)到1(不包含)之间的浮点数。例如,如果你需要一个0到1...
首先,我们可以使用 Oracle 自带的 dbms_random 程序包来生成随机数。dbms_random 是一个 PL/SQL 包,位于 $ORACLE_HOME/rdbms/admin/dbmsrand.sql 目录下。为了使用该包,我们需要先在 sys 用户下编译该文件,即...
Oracle 提供 `DBMS_RANDOM.VALUE` 这个包来生成随机小数。这个函数接收两个参数,`LOW` 和 `HIGH`,返回一个 [LOW, HIGH) 之间的浮点数,包括 LOW,但不包括 HIGH。如果你想得到整数,可以结合 `TRUNC` 函数来截断...
dbms_random提供随机数生成功能,常用于测试和模拟。 dbms_logmnr(Log Miner)工具允许分析归档日志,以获取历史数据库活动的详细信息。dbms_flashback提供闪回功能,用于恢复到过去的数据库状态。dbms_...
Oracle也提供了生成随机字符串的功能,主要通过`DBMS_RANDOM.STRING`函数实现,该函数接受两个参数:字符类型(如可打印字符)和长度。 ```sql SELECT DBMS_RANDOM.STRING('P', 20) FROM DUAL; ``` 其中,'P'代表...
如果你需要从正态分布中获取随机数,可以使用`dbms_random.normal`函数。这个函数返回的是标准正态分布(均值为0,标准差为1)的随机数。若需调整均值和标准差,可以进行相应的转换。 5. 随机生成日期: Oracle...
DBMS_RANDOM是Oracle提供的一组实用程序,用于生成随机数,这对于模拟、测试或者在数据库中创建随机数据非常有用。在这个场景下,我们将主要用到`DBMS_RANDOM.RANDOM`函数。 `DBMS_RANDOM.RANDOM`函数返回一个在0...
Oracle数据库提供了一个名为DBMS_RANDOM的包,用于生成随机数,这对于各种应用场景,如模拟、测试和数据分析等非常有用。在Oracle 9i版本中,你可以利用DBMS_RANDOM包的函数来实现特定的需求,比如随机选取数据库表...
TRUNC(DBMS_RANDOM.VALUE(0, 100)) AS RANDOM_ID, DBMS_RANDOM.STRING('X', 20) AS RANDOM_STRING FROM DUAL CONNECT BY LEVEL ; ``` 这条SQL语句将创建一个包含四个字段的新表:`ID`、`INC_DATETIME`、`RANDOM_...
- **示例**:`DBMS_RANDOM.VALUE`可以生成一个介于0和1之间的随机数。 10. **DBMS_XMLGEN** - **功能**:用于生成XML文档,这是Oracle 8i新增的一项重要特性。 - **示例**:使用`DBMS_XMLGEN.GETXML`可以基于...
trunc(dbms_random.value(0, 100)) AS random_id, dbms_random.string('x', 20) AS random_string FROM dual CONNECT BY LEVEL ; ``` 这条SQL语句创建了一个名为`myTestTable`的新表,并填充了10万条数据,每条...
此外,Oracle还支持`DBMS_RANDOM`包,这是一个强大的随机数生成器,可以用来辅助实现更复杂的抽样需求。如: ```sql SELECT * FROM (SELECT * FROM MEMBER ORDER BY DBMS_RANDOM.VALUE) WHERE ROWNUM ; ``` 这将从`...