select
創新互聯公司是一家專注于網站設計制作、網站制作與策劃設計,明水網站建設哪家好?創新互聯公司做網站,專注于網站建設十載,網設計領域的專業建站公司;建站業務涵蓋:明水等地區。明水做網站價格咨詢:028-86922220
to_char(sysdate,'yyyymmdd')||lpad(round(dbms_random.value(1,999999999)),9,0)
from
dual;
解釋一下,to_char(sysdate,'yyyymmdd')是求得日期,也就是當前日期的年月日,||是連接符號
round(dbms_random.value(1,999999999)是取隨機數的整數位,round是四舍五入,從1-99999999之間取
lpad(9,0)是個左補0函數,如果選出的隨機數為1,則前邊就是8個0補充
Oracle dbms_random包主要用于獲得隨機數,可以為數字也可以為字母等,還可以實現混拼。
常用函數
生成一個0~1間的隨機小數(包括0,不包括1):
生成一個1~10間的隨機小數(包括1和不包括10):
dbms_random.random
The RANDOM function produces integers in the range [-2^^31, 2^^31),注意,區間為左閉右開。
隨機從students表中獲取10條記錄
----------------------------------------------------------
dbms_random.string
生成一個指定模式指定位數的隨機字符串,可選模式如下:
2022-3-26
DBMS_RANDOM包提供了內置的隨機數生成器。
大多數語言的隨機函數生成器都需要提供一個種子,在Oracle中,選取種子的過程叫做初始化,再執行隨機函數之前,可以不用顯式地執行初始化,Oracle會自動使用日期、用戶ID、進程ID來進行初始化。當然,也可以顯式地初始化或者叫自定義初始化。
val參數表示種子數字
字符串長度最多可以為2000.
RANDOM函數的返回值取值范圍是[ -2 31 ,2 31 ],因此如果我們若想得到[-1,1]范圍內的偽隨機結果:
如果是[0,1],取絕對值即可
若想[m,n] (mn)這種形式,例如[3,9]
[m,n] (mn)這種形式的一般表達式為
select abs(dbms_random.random/power(2,32))*(n-m)+m from dual;
在RANDOM函數的示例中,我們已經討論了 [0,1] 區間和 [m,n](mn) 區間上的隨機數的生成方法,而VALUE函數即可以生成 [0,1] 上的隨機數,又可以生成 [m,n](mn) 上的隨機數,
當沒有參數時,返回 [0,1] 上的隨機數。
low參數表示最小值,high參數表示最大值,返回 [low,high] 區間內的隨機數
opt參數控制字符串的大小寫格式,可選值及含義如下:
‘u’或'U':表示大寫字母
‘l’或‘L’:表示小寫字母
‘a’或‘A’:表示大小寫混合
‘x’或‘X’:表示大寫字母和數字混合
‘p’或‘P’:表示任意可顯示字符
len表示字符串長度
oracle隨機數 需要用?dbms_random
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;
分享標題:oracle如何取隨機數,oracle中隨機函數
文章來源:http://m.newbst.com/article10/phhsgo.html
成都網站建設公司_創新互聯,為您提供商城網站、面包屑導航、定制網站、網頁設計公司、小程序開發、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯