您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> oracle教程 >> 正文

oracle数据库生成随机数的函数

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数,其中常用的有以下两个:

  DBMS_RANDOM.VALUE函数

  该函数用来产生一个随机数,有两种用法:

  1. 产生一个介于0和1之间(不包含0和1)的38位精度的随机数,语法为:

DBMS_RANDOM.VALUE RETURN NUMBER;

  这种用法不包含参数。

  2. 产生一个介于指定范围之内的38位精度的随机数,语法为:

DBMS_RANDOM.VALUE(low IN NUMBER,high IN NUMBER) RETURN NUMBER;

  这种用法包含两参数,参数low用来指定要生成的随机数的下限,参数high指定上限,生成的随机。请注意生成的随机数有可能等于下限,但绝对小于上限,即“low<=随机数

  举个例子: 要产生一个1到100之间的数可以这样写: DBMS_RANDOM.VALUE(1,100)

  DBMS_RANDOM.STRING函数

  该函数产生一个随机字符串,语法为:

DBMS_RANDOM.STRING (opt IN CHAR,len IN NUMBER) RETURN VARCHAR2;

  参数len指定生成的字符串的长度。

  参数opt指定生成的字符串的样式,允许的取值及其表示的含义如下表所示:

取值 含义 ‘u’或’U’ 返回一个由大写字母组成的字符串 ‘l’或’L’ 返回一个由小写字母组成的字符串 ‘a’或’A’ 返回一个由大写字母和小写字母组成的字符串 ‘x’或’X’ 返回一个由大写字母和数字组成的字符串 ‘p’或’P’ 返回一个由任意的可打印字符组成的字符串

  举个例子: 要产生一个长度为6且只包括大写字母的字符串,可以这样写: DBMS_RANDOM.STRING('U',6)