rand(datepart(ms,getdate())*1000) 
datepart(mm,getdate())表示取当前时间的秒数 
datepart(ms,getdate())*100000表示取当前时间的毫秒数乘以1000 
rand()表示以上面的数字得出一个随机数。 
在单个查询中反复调用 RAND() 将产生相同的值,所以rand([seed]),你每次要修改种子seed的才能得出不一样的随机数。 

解决方案 »

  1.   


    rand(datepart(ms,getdate())*1000) 
    datepart(mm,getdate())表示取当前时间的秒数 
    datepart(ms,getdate())*100000表示取当前时间的毫秒数乘以1000 
    rand()表示以上面的数字得出一个随机数。 
    在单个查询中反复调用 RAND() 将产生相同的值,所以rand([seed]),你每次要修改种子seed的才能得出不一样的随机数。 
      

  2.   

    随机种子如
    declare @a int
    intset @a=rand(100)  --你也可以初始化一下。
    set @a=rand()*100 --这就是表示从1到100之间取数
    set @a=rand()*100 --再次取随机数字
      

  3.   

    这段程序用了日期时间做伪随机数种子.
    rand函数的用法直接查联机帮助.
      

  4.   

    rand(datepart(ms,getdate())*1000)...........)
    意思是在当前日期的毫秒*100000和秒在和毫秒*1000的和里面产生一个随机数?
    对吗??
    怎么看他的产生的数是多少位的??