1. 隨機數包
select dbms_random.value
from dual;
2. 在[0..100]範圍內取隨機數
select trunc (dbms_random.value (0, 100))
from dual;
3. 大於字元『a』的10個字元隨機字串
select dbms_random.string (』a』, 10)
from dual;
4. 單個小寫隨機字元
select chr (round (dbms_random.value (97, 122)))
from dual;
5. 在過去10天內取隨機日期
select to_date (trunc (dbms_random.value (to_number (to_char (sysdate - 10,
』j』
) ),
to_number (to_char (sysdate, 』j』))
) ),
』j』
) from dual;
6. 在過去30分鐘內取隨機時間
select (sysdate - 1 / 24 / 60 * 30) + dbms_random.value (1, 1800) / 3600 / 24
from dual;
7.在2023年7月1日---2023年3月8日之間,任取乙個隨機值;
select to_date(trunc(dbms_random.value(to_number(to_char(to_date('20100701010101','yyyy-mm-dd hh24:mi:ss'), 'j')),
to_number(to_char(to_date('20110308010101','yyyy-mm-dd hh24:mi:ss'), 'j')))),
'j')
from dual;
8.2023年7月1日以後的240天內隨機取乙個值
select to_date('20100701010101','yyyy-mm-dd hh24:mi:ss') + dbms_random.value(1,240) from dual;
9.產生隨機日期
oracle將日期作為過去某個關鍵日期(如果你好奇的話,我可以告訴你這個日期是西元前2023年1月1日)的整數偏移 量來儲存。這就意味著你可以通過尋找與你希望的起始日期相對應的整數,然後向它加入乙個隨機的整數來隨機生成乙個指定範圍內的日期。
使用to_char函式和『j』格式**,你可以為今天的日期生成乙個內部日期數:
select to_char(sysdate, 'j') from dual;
例如,要生成乙個2023年內的任意日期,你可以首先確定2023年1月1日的日期整數;
select to_char(to_date('01/01/03','mm/dd/yy'),'j')from dual;
系統給的結果是2452641。所以要生成該年度內的任意日期,我們就要用帶有low_value等於2452641和high_value等於 2452641+364引數的dbms_random.value,再把它轉換成日期:
select to_date(trunc(dbms_random.value(2452641,2452641+364)),'j') from dual;
ORACLE 隨機數相關問題
1.隨機數包 selectdbms random.value fromdual 2.在 0.100 範圍內取隨機數 selecttrunc dbms random.value 0,100 fromdual 3.大於字元 a 的10個字元隨機字串 selectdbms random.string a ...
c 隨機數相關
這裡列出幾個常用但,效果一般的隨機數生成方式 最大的陷阱可能還是來自我們的random 上面的文章,寫的很一般,很一般 具體的還是看我們c in depth 中的一篇關於random的文章 the parameterless constructor forrandomtakes the curren...
隨機數 簡學 隨機數問題
隨機是概率論用語,指事前不可預言的,即在相同條件下重複進行試驗,每次結果未必相同,或知道事物過去的狀況,但未來的發展卻不能完全肯定,隨機也有 真隨機 與 偽隨機 真隨機 比如量子力學,因為乙個放射性物質原子下一分鐘是否發生衰變是真正隨機的,不可預言的 偽隨機 由經過系統的不同的因素造成,或是由於忽略...