ASP代码如下: '定义数组
M_Str=""
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0"
M_Array=Split(M_Str,",")
For i=1 To 10
Randomize
Rnd_i=Int(Rnd*1000) Mod 60 '(结果:0~59)
M_Array(Rnd_i)=M_Array(Rnd_i)+1
Next
请问怎么将以上ASP代码转成SQL代码?
转换后想放在存储过程中。
M_Str=""
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0,"
M_Str=M_Str&"0,0,0,0,0,0,0,0,0,0"
M_Array=Split(M_Str,",")
For i=1 To 10
Randomize
Rnd_i=Int(Rnd*1000) Mod 60 '(结果:0~59)
M_Array(Rnd_i)=M_Array(Rnd_i)+1
Next
请问怎么将以上ASP代码转成SQL代码?
转换后想放在存储过程中。
的随机程度远不如
Rnd_i=Int(Rnd*60) '(结果:0~59)
Rnd_i=Int(Rnd*60) '(结果:0~59)
我好像看不懂!可以解释一下吗?
Int(Rnd*1000)是0-999间的均匀,1000 mod 60=40
则0-59间,0-39出现的概率会比40-59出现的概率要高1/16Int(Rnd*60)就是0-59间的均匀
看不太懂 Randomize的作用是什么?
这个是让后续的随机数序列能较与别的随机数序列不雷同
因为常用算法下产生的伪随机数序列,其实是固定的一个大约4G(也许2G)个元素的数值数组里,从某个元素开始连续取而已
差别就是从哪一个元素开始没有randomize,每次运行总是从第1个元素开始
randomize是以当前的系统时间(经过换算)作为开始元素的下标,使得每次运行,较难正好从同一个元素开始