「大哥,看了你這篇博文我怎樣才能產生10個且每個有8位不相同的隨機數字?」
剛才有位網友在skype問及如上問題。
好的,insus.net也正想寫乙個儲存過程來應用上面這篇的sql語句,你可以參考如下的儲存過程,如果還問題請繼續討論。
create
procedure
[dbo
]. [
usp_randomnumber](
@len
int=
1,
--隨機數字數
@rows
int=1--
隨機筆數
)
asbegin
declare
@tas
table(
[random number
]varchar(
max))
declare
@lint
=1,
@rint=
1while
@r<=
@rows
begin
declare
@rnvarchar(
max)
=''while
@l<=
@len
--隨機產生每個隨數的位數
begin
set@rn
=@rn
+char(
round(
rand()
*9+48, 0))
set@l=@l
+1end--
如果產生相同的隨機數,將不會儲存
ifnot
exists(
select
[random number
]from
@twhere
[random number]=
@rn)
begin
insert
into
@tselect
@rn--
insert into @t ([random number])values (@rn)
set@r=@r
+1--記錄總共產生了幾筆隨機數
set@l=1
--每產生完乙個隨機數之後,將隨機數的位數初始化為1
endend
select
[random number
]from
@tend
當你把上面的儲存過程附加入資料庫之後,可以執行這個儲存過程:
execute
[dbo
]. [
usp_randomnumber]8,
10得到的結果(由於是隨機產生,每次execute獲得結果會不一樣)
不重複隨機數
1 不重複隨機數1 生產 lowerbound,upperbound 的隨機數,核心 int upperbound lowerbound 1 rnd lowerbound 示例 如下 sub rndnumnorepeat1 dimdic dim i set dic createobject scri...
例子 隨機數 不重複的隨機數
以隨機數是js數學物件的方法之一。math.random 0 1的隨機數這樣使用的範圍就比較小,所以如果想用這個api獲得其它範圍的隨機數的話,就需要使用下面這種 math.random b a 1 a 以上這種寫法是獲取a b的隨機數的寫法,比如想要50 100的隨機數,就應該是 math.ran...
不重複隨機數生成
直接上 生成 0,total 的隨機數 最大隨機數 ilist private static ilistgetrandomsequence int total random random new random for var i listbase.count 1 i 0 i return listo...