Oracle随机数:

1、使用SYS_GUID(),获取32位的UUID.

1 SELECT SYS_GUID() FROM DUAL

2、当要将某数据插入到A表中,但是在B表中也要使用插入数据的ID,就可以提前声明一个变量,存放它的ID,而不需要通过

INSERT语句中使用RETURNING语句返回ID。

1 DECLARE
2   V_ID VARCHAR2(100) := SYS_GUID();
3 BEGIN
4   DBMS_OUTPUT.PUT_LINE(V_ID);
5 END;

3、其他使用的随机数是使用SYS.dbms_random包中提供的函数和过程:

 1 --Obsolete(过时), get integer in ( -power(2,31) <= random < power(2,31) )
 2 SELECT DBMS_RANDOM.RANDOM FROM DUAL;
 3 --Get a random 38-digit precision number, 0.0 <= value < 1.0
 4 SELECT DBMS_RANDOM.VALUE FROM DUAL;
 5 --get a random Oracle number x, low <= x < high
 6 SELECT DBMS_RANDOM.VALUE(1, 100) FROM DUAL;
 7 /* "opt" specifies that the returned string may contain:
 8              'u','U'  :  upper case alpha characters only
 9              'l','L'  :  lower case alpha characters only
10              'a','A'  :  alpha characters only (mixed case)
11              'x','X'  :  any alpha-numeric characters (upper)
12              'p','P'  :  any printable characters
13   */
14 SELECT DBMS_RANDOM.STRING('u', 100) FROM DUAL;
15 SELECT DBMS_RANDOM.STRING('x', 100) FROM DUAL;
16 --随机获取0-40范围内的数
17 SELECT ROUND((DBMS_RANDOM.VALUE) / 25 * 1000, 0) FROM DUAL;

4、SIMPLE的用法:

1 /*sample 就是读全部,不加一样sample(n),n为[0.000001,100)当然读的也不是严格的百分比,
2 有一定的误差。*/
3 SELECT * FROM (SELECT * FROM EMP SAMPLE(90)) WHERE ROWNUM < 514 select * from emp SAMPLE(10);

转载于:https://www.cnblogs.com/caroline/archive/2012/05/03/2481259.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值