♣          题目         部分

在Oracle中,Oracle中哪个包用于生成随机值?


     
♣          答案部分          


DBMS_RANDOM是一个可以生成随机数值或者随机字符串的程序包。这个包有INITIALIZE()、SEED()、TERMINATE()、VALUE()、NORMAL()、RANDOM()、STRING()等几个函数,它们提供了内置的随机数生成器,可以用于快速生成随机数,下面只介绍VALUE()和STRING()函数,其它函数的使用方法参考官方文档。

1、DBMS_RANDOM.VALUE方法

VALUE()是最常用的方法,它的用法一般有两种:第一种用法没有参数,会返回一个具有38位精度的数值,范围从0.0到1.0,但不包括1.0。以下示例返回10个[0,100)内的任意整数:

 1SQL> SET SERVEROUT ON 2SQL> BEGIN  3   2    FOR I IN 1..10 LOOP  4   3      DBMS_OUTPUT.PUT_LINE(ROUND(DBMS_RANDOM.VALUE*100));  5   4    END LOOP;  6   5  END;  7   6  /  846  919 1045 1137 1233 1357 1461 1520 1682 178 1819PL/SQL 过程已成功完成。
     


第二种VALUE带有两个参数,第一个指下限,第二个指上限,将会生成下限到上限之间的数字,但不包含上限,示例如下所示:

 1SQL> BEGIN  2   2    FOR I IN 1..10 LOOP  3   3      DBMS_OUTPUT.PUT_LINE(TRUNC(DBMS_RANDOM.VALUE(1,101)));  4   4    END LOOP;  5   5  END;  6   6  /  797  877  913 1086 1168 1216 1355 1436 1554 1646 17PL/SQL 过程已成功完成。
     


2、DBMS_RANDOM.STRING方法

DBMS_RANDOM.STRING可以用来生成随机字符串,如下所示:

1SELECT ROUND(DBMS_RANDOM.VALUE(0, 10)) COL_0,2       DBMS_RANDOM.STRING('a', ROUND(DBMS_RANDOM.VALUE(0, 10))) COL_A, --all返回不分大小写的字母字符串3       DBMS_RANDOM.STRING('u', ROUND(DBMS_RANDOM.VALUE(0, 10))) COL_U, --upper返回大写字母字符串4       DBMS_RANDOM.STRING('l', ROUND(DBMS_RANDOM.VALUE(0, 10))) COL_L, --little小写字母5       DBMS_RANDOM.STRING('x', ROUND(DBMS_RANDOM.VALUE(0, 10))) COL_X, --大写字母加数字6       DBMS_RANDOM.STRING('p', ROUND(DBMS_RANDOM.VALUE(0, 10))) COL_P --所有可以打印的字符7  FROM DUAL;
     


除此之外,还有DBMS_RANDOM.RANDOM返回的值介于2的31次方和-2的31次方之间的整数值,还有其它一些不常用的函数,这里就不介绍了。


©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. C语言编程笔试题(一)
  2. C语言进阶(五)——字符串+内存函数的介绍
  3. 【DB笔试面试244】在Oracle中,什么是Quote(q)语法?
  4. C语言之库函数的模拟与使用
  5. 【DB笔试面试497】Oracle使用哪个包可以生成并传递数据库告警信
  6. 【DB笔试面试249】在Oracle中,生成备库控制文件的方法有哪些?
  7. 调用CXF框架的webservie restful风格服务报415错误的解决方法
  8. EXCEL函数篇—9大类文本函数
  9. javascript数据类型转换

随机推荐

  1. error: resource android:attr/fontVaria
  2. android 启动时会多显示一个闪现屏
  3. Android内核编译和裁剪
  4. Spinner 使用方法小结
  5. ListView中使用线程实现无限加载
  6. Android发送邮件
  7. 2010.12.28——— android menu用法
  8. android 中的定时任务
  9. Android Studio编译失败:Error: Invoke-cu
  10. TextView 点击拨打电话