oracle的pl/sql提供了生成隨機數和隨機字串的多種方式,羅列如下:
1、小數( 0 ~ 1)
select dbms_random.value from dual
2、指定範圍內的小數 ( 0 ~ 100 )
select dbms_random.value(0,100) from dual
3、指定範圍內的整數 ( 0 ~ 100 )
select trunc(dbms_random.value(0,100)) from dual
4、長度為20的隨機數字串
select substr(cast(dbms_random.value as varchar2(38)),3,20) from dual
5、正態分佈的隨機數
select dbms_random.normal from dual
6、隨機字串
select dbms_random.string(opt, length) from dual
opt可取值如下:
'u','u' : 大寫字母
'l','l' : 小寫字母
'a','a' : 大、小寫字母
'x','x' : 數字、大寫字母
'p','p' : 可列印字元
7、隨機日期
select to_date(2454084+trunc(dbms_random.value(0,365)),'j') from dual
通過下面的語句獲得指定日期的基數
select to_char(sysdate,'j') from dual
8、生成guid
select sys_guid() from dual
--生成帶分隔符(-)的guid的自定義函式
create or replace function my_guid
return varchar2
isguid varchar(36);
temp varchar(32);
begin
temp:=sys_guid();
guid:= substr(temp,1,8) || '-'
||substr(temp,9,4) || '-'
||substr(temp,13,4)|| '-'
||substr(temp,17,4)|| '-'
||substr(temp,21,12);
return guid;
end;
oracle 產生隨機數
產生乙個任意大小的隨機數 select dbms random.random from dual 產生乙個100以內的隨機數 select abs mod dbms random.random,100 from dual 產生乙個100 1000之間的隨機數 select trunc 100 dbm...
oracle如何產生隨機數
oracle 如何產生乙個隨機數 dbms random 1 小數 0 1 select dbms random.value from dual 2 指定範圍內的小數 0 100 select dbms random.value 0,100 from dual 3 指定範圍內的整數 0 100 se...
oracle如何產生隨機數?
oracle 如何產生乙個隨機數 dbms random 1 小數 0 1 select dbms random.value from dual 2 指定範圍內的小數 0 100 select dbms random.value 0,100 from dual 3 指定範圍內的整數 0 100 se...