Oracle如何實現從特定組合中隨機讀取值

2021-09-06 23:10:39 字數 1200 閱讀 6354

在這裡,我們會用到dbms_random包和case when語句,思路如下:

一、利用dbms_random.random函式隨機生成數值,然後對數值進行取模,如果我們要在10個元素中隨機讀取的話,那我們需要對10進行取模。

二、再將取模後的值利用case when語句與元素進行關聯。

譬如,我有乙個組合,裡面包含「北京」,「上海」,「廣州」,「深圳」,「武漢」五個元素,想從這五個元素中隨機讀取值來填充表的某個字段。

首先,建立測試表

sql>

create

table test(loc varchar2(2

char

));table created.

構造能隨機讀取元素的sql語句

select

case mod(abs(dbms_random.random),5

)

when

1then'北京

'when

2then'上海

'when

3then'廣州

'when

4then'深圳

'else'武漢

'end

"loc"

from dual;

大批量填充test表的loc欄位

begin

for i in

1..10

loop

insert

into test values(case mod(abs(dbms_random.random),5

)

when

1then'北京

'when

2then'上海

'when

3then'廣州

'when

4then'深圳

'else'武漢

'end

);

endloop;

end;

最後生成的結果如下:

sql>

select

*from

test;

loc--

------

武漢廣州

上海北京

上海武漢

北京上海

武漢深圳

10 rows selected.

如何實現從php傳資料到js

做專案時,遇到該類問題後,想到的辦法。首先當前頁面做了乙個雙處理的介面,就是有php也有js的處理介面。上乙個傳值介面是乙個php的傳值,結果,在當前頁面的js中也要用到上一介面傳的值,這時發現,php與js就像是兩個互相孤立的小島,根本沒有任何聯絡。於是,我們需要建立乙個橋梁,用來聯絡這兩個小島。...

如何實現從IT民工到高階IT人士的跨越?

如何實現從it民工到高階it人士的跨越?文 王易見 我一向不習慣以it民工來形容it人士,因為it既包括技術也包括管理,而在技術方面也有高低端之分,所謂的it民工只是最低端的技術人才。在it界競爭日趨激烈,it行業平均利潤率越來越趨於理性化的今天,實現從it民工到高階it人的跨越式發展是成為成功it...

阿里雲如何實現從網域名稱到建站細節?

購買網域名稱到建站,那首先我們處理一下購買網域名稱這個事 一 購買網域名稱 直接進入阿里雲官網,選擇網域名稱,然後你根據自己的實際需要情景,選擇合適的網域名稱,比如.com cn top的網域名稱都可以任你選擇,你也可以直接選擇在萬網上直接購買乙個網域名稱,那時相當優惠,最低得有3元 年,當然你如果...