• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle 随机函数 DBMS_RANDOM

mysql 搞代码 4年前 (2022-01-09) 15次浏览 已收录 0个评论

最近在给公司开发人员造数据,这些数据要随机范围的,就用到了DBMS_RANDOM函数。这个函数不光能造一些随机数字,还能随机造一些日

最近在给公司开发人员造数据,这些数据要随机范围的,就用到了DBMS_RANDOM函数。这个函数不光能造一些随机数字,还能随机造一些日期|字符等。

DBMS_RANDOM在官方文档的 PL/SQL Packages and Types Reference–>75 DBMS_RANDOM这个位置。

————————————–分割线 ————————————–

生成动态前缀且自增号码的Oracle函数

Spring StoredProcedure调用Oracle函数各种异常解决方法

Oracle函数之case和decode的用法区别及性能比较

Oracle函数wmsys.wm_concat的使用

SQL中Oracle函数列表速查

————————————–分割线 ————————————–

1.产生随机数字

SQL> SELECT DBMS_RANDOM.VALUE FROM DUAL;

VALUE
———-
.360532538

SQL> SELECT DBMS_RANDOM.VALUE(0, 100) FROM DUAL;

DBMS_RANDOM.VALUE(0,100)
——————————-
26.8474818

这个函数在默认下回产生0-1之间的小数,如果加入参数的话,会产生参数之间的小数

2.产生整数

SQL> SELECT TRUNC(DBMS_RANDOM.VALUE(0, 100)) FROM DUAL;

TRUNC(DBMS_RANDOM.VALUE(0,100))
——————————-
57

SQL> SELECT TRUNC(DBMS_RANDOM.VALUE(0, 100)) FROM DUAL;

TRUNC(DBMS_RANDOM.VALUE(0,100))
——————————-
34

3.产生随机日期

SQL> SELECT TO_CHAR(TO_DATE(‘2014-01-02′,’yyyy-mm-dd’),’J’)FROM DUAL;

TO_CHAR(TO_DATE(‘2014
———————
2456660

SQL> SELECT to_char(to_date(TRUNC(DBMS_RANDOM.VALUE(2456660,2456660+180)),’j’),’yyyy-mm-dd’) FROM来1源gaodai#ma#com搞*代#码1网 DUAL;

TO_CHAR(TO_DATE(TRUNC(DBMS_RAN
——————————
2014-02-24

SQL> SELECT to_char(to_date(TRUNC(DBMS_RANDOM.VALUE(2456660,2456660+180)),’j’),’yyyy-mm-dd’) FROM DUAL;

TO_CHAR(TO_DATE(TRUNC(DBMS_RAN
——————————
2014-02-28

上面的意思是 ,想要2014-01-02以后180以内随机的日期,先计算出2014-01-02那天对应的oracle内部日期数,,然后根据这个计算便宜量。

4.随机字符

SQL> SELECT DBMS_RANDOM.STRING(‘A’, 20) FROM DUAL;

DBMS_RANDOM.STRING(‘A’,20)
——————————————————————————–
egNhrpzmklLVUWHMNPbb

SQL> SELECT DBMS_RANDOM.STRING(‘A’, 20) FROM DUAL;

DBMS_RANDOM.STRING(‘A’,20)
——————————————————————————–
IlMlBgNlvqwaufbTJxHN

SQL> SELECT DBMS_RANDOM.STRING(‘U’,20) FROM DUAL;

DBMS_RANDOM.STRING(‘U’,20)
——————————————————————————–
DLAMFMWNWWUEXOAQGNJT

SQL> SELECT DBMS_RANDOM.STRING(‘U’,20) FROM DUAL;

DBMS_RANDOM.STRING(‘U’,20)
——————————————————————————–
QYGPITUPJHMKTOAKFCGX

SQL> SELECT DBMS_RANDOM.STRING(‘L’,20) FROM DUAL;

DBMS_RANDOM.STRING(‘L’,20)
——————————————————————————–
nbxvjzdddxduwkvmfubp

SQL> SELECT DBMS_RANDOM.STRING(‘L’,20) FROM DUAL;

DBMS_RANDOM.STRING(‘L’,20)
——————————————————————————–
ujyqkuocrhouphozxktm

SQL>

‘U’用来生成大写字符
‘L’用来生成小写字符
‘A’用来生成大小写混合的字符

本文永久更新链接地址:


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle 随机函数 DBMS_RANDOM

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址