Oracle中如何生成随机数字、随机字符串、随机日期

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle中如何⽣成随机数字、随机字符串、随机⽇期 11.随机⼩数
2 dbms_random.value(low,high): --获取⼀个[low,high)之间的⼩数,包含low,不包含high
3可以结合trunc函数获取整数
4
5例如:
6select dbms_random.value from dual; --⽣成0-1之间的⼩数
7select dbms_random.value(0,100) from dual; --⽣成0-100之间的⼩数
8select trunc(dbms_random.value(0,1000)) from dual; --⽣成0-1000之间的整数
9select substr(cast(dbms_random.value(1,100000) as varchar2(10)),1,5) from dual; --⽣成5位数字
10
112.随机整数
12 dbms_random.random; --获取⼀个[-2的31次⽅,2的31次⽅)之间的整数,包含-2的31次⽅,不包含2的31次⽅
13
143.随机字符串
15 dbms_random.string (opt char, len number);
16--opt:表⽰返回值可能包含的东西
17----'u','U' : 任何⼤写字母
18----'l','L' : 任何⼩写字母
19----'a','A' : ⼤⼩写混合字母
20----'x','X' : ⼤写字母和数字混合
21----'p','P' : 任何可打印字符
22----其他参数 : 任何⼤写字母
23--len:表⽰要返回的字符串长度
24
254.从正态分布得到⼀个随机数
26 dbms_random.normal
27
285.随机⽣成⽇期
29select to_char(sysdate,'J') from dual; --2458054 获取指定⽇期的基数(内部⽇期数)
30
31我们就要⽤带有low_value等于2458054、high_value等于2458054+364,作为dbms_random.value的两个参数,再把它转换成⽇期
32select to_date(trunc(dbms_random.value(2458054,2458054+364)),'J') from dual;
33也可以动态写成:
34select to_date(to_char(sysdate,'J')+trunc(dbms_random.value(0,365)),'J') from dual;。

相关文档
最新文档