一个表T1里有1000多条记录,我想在表T1里给字段A随机生成10到12之间的二位小数,每条记录里的值最好不一样,或有有10来条数据是一样的没事。怎么用语句写UPDATE    T1   SET  A=

解决方案 »

  1.   

    Update T1 Set A = Convert(Int,Floor(RAND()*10000)) %2 +10 + RAND()
      

  2.   

    Update T1 Set A =  Convert(Decimal(9,2),Convert(Int,Floor(RAND()*10000)) %2 +10 + RAND())
      

  3.   

    那你循环一条条更新吧,值用这个Convert(Decimal(9,2),Convert(Int,Floor(RAND()*10000)) %2 +10 + RAND())
      

  4.   

    表T1里有1000多条记录
    生成10到12之间的二位小数(这应该最多就2、300个数字吧)
    用一个UPDATE好像不行,估计要用循环一个一个的生成。
      

  5.   

    感觉用默认约束带入可能好点,暂时没想到好办法alter table T1
    add constraint df_num
    default convert(numeric(4,2),RAND()*2+10) for A
      

  6.   

    While (Select COUNT (1) From T1 Where A = 0) > 0
    Begin
    Update T1 Set A = Convert(Decimal(9,2),Convert(Int,Floor(RAND()*10000)) %2 +10 + RAND())
    Where ID = (Select Top 1 ID From T1 Where A = 0)
    End
      

  7.   

    --假设T1表的关键字是ID,并且A字段初始值为0
    While (Select COUNT (1) From T1 Where A = 0) > 0
    Begin
    Update T1 Set A = Convert(Decimal(9,2),Convert(Int,Floor(RAND()*10000)) %2 +10 + RAND())
    Where ID = (Select Top 1 ID From T1 Where A = 0)
    End