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代码?
转换后想放在存储过程中。

解决方案 »

  1.   

    SQL没有数组定义的,你按具体的列值存到表里就可以。
      

  2.   

    Rnd_i=Int(Rnd*1000) Mod 60    '(结果:0~59)
    的随机程度远不如
    Rnd_i=Int(Rnd*60)       '(结果:0~59)
      

  3.   


    Rnd_i=Int(Rnd*60) '(结果:0~59)
    我好像看不懂!可以解释一下吗?
      

  4.   


    Int(Rnd*1000)是0-999间的均匀,1000 mod 60=40
    则0-59间,0-39出现的概率会比40-59出现的概率要高1/16Int(Rnd*60)就是0-59间的均匀
      

  5.   

    SQL 中没有数组的概念,但是可以用表。
      

  6.   

    学习一下了.我很基础VBSCRIT
    看不太懂 Randomize的作用是什么?
      

  7.   


    这个是让后续的随机数序列能较与别的随机数序列不雷同
    因为常用算法下产生的伪随机数序列,其实是固定的一个大约4G(也许2G)个元素的数值数组里,从某个元素开始连续取而已
    差别就是从哪一个元素开始没有randomize,每次运行总是从第1个元素开始
    randomize是以当前的系统时间(经过换算)作为开始元素的下标,使得每次运行,较难正好从同一个元素开始
      

  8.   

    Randomize 语句初始化随机数生成器。 语法 Randomize [number] 可选的 number 参数是 Variant 或任何有效的数值表达式。 说明 Randomize 用 number 将 Rnd 函数的随机数生成器初始化,该随机数生成器给 number 一个新的种子值。如果省略 number,则用系统计时器返回的值作为新的种子值。 如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值。 注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。 
      

  9.   

    sqlserver 没有数组,你可以使用临时表,需要遍历时使用while循环就行。