SELECT CASE CAST(RAND()*3 AS int) WHEN 0 THEN 1 ELSE 2 END 试下这个

解决方案 »

  1.   

    SELECT CASE CAST(RAND()*2 AS int) WHEN 0 THEN 1 ELSE 2 END 这样也行,1、2会变
      

  2.   

    SELECT CASE WHEN CHECKSUM(NEWID())>0 THEN 1 ELSE 2 END  这样呢?
      

  3.   

    改了一下上面的代码:
    UPDATE [OneWeight].[dbo].[tbRunAlarm]
      SET 
           [RDBanci] =  CASE WHEN CHECKSUM(NEWID())>0 THEN 1 ELSE 2 END
         
     WHERE RDID>0
      

  4.   

    SELECT RTRIM(LTRIM(STR( RAND(PATINDEX('%[3-9]%',REPLACE(NEWID(),'','')) *RAND() )*2,2,0 )))
      

  5.   

    随机1-2 可以用这个。
    select  cast(ceiling(rand() * 2) as int)
      

  6.   

    select cast(rand()*2+1 as int)
    最简单的呈现方式