这条语句前两个字段得到的全是相同的数字:
select top 100 @@idle as aaa, rand() as bbb, newid() as ccc from syscolumns1. 我想要的是像ccc字段一样每行都不同(数字形式),因为guid不直观,也太长了
2. 不用 identity(1,1) 流水号如:
insert into myTable(ID)
  select top 100 rand() from syscolumns

解决方案 »

  1.   

    这样会不会有 重复或溢出 的可能?即:rand(guid.FirstAscii)
    select top 100 @@idle+rand(ascii(left(newid(),1))) from syscolumns
    简写为:select top 100 @@idle+rand(ascii(newid())) from syscolumns等待更多的答案...
      

  2.   

    不行喔,重复了:
    422685261.71450502 a
    422685261.71485901 b
    422685261.71454227
    422685261.71485901 b
    422685261.71452361
    422685261.71487767
    422685261.71450502 a
      

  3.   

    在你的基础上改一下:
    select top 100 right(rand(ascii(right(newid(),1))),3) from syscolumns
      

  4.   

    如果要有唯一性,那只有采用自增或者guid的,取随机数并不能保证没有重复的.
      

  5.   

    SELECT RIGHT(CAST(LEFT(NEWID(),6) AS VARBINARY),10) AS CCC FROM SYSCOLUMNS
    ----或
    SELECT CAST(LEFT(NEWID(),6) AS VARBINARY) AS CCC FROM SYSCOLUMNSCCC
    ----------
    41DD25
    C3D8D9
    C81623
    9D33C1
    BEE8E8
    19A282CCC
    --------------------------------------------------------------
    0x443536463638
    0x363046313045
    0x454531394546
    0x333738324631
    0x393344334639
    0x394644374144
    0x313832313137
      

  6.   

    select top 100 right(rand(ascii(right(newid(),1))),3) from syscolumns
    即, select top 100 rand(ascii(right(newid(),1))) from syscolumns一样的,也有重复:
    0.7148776682297393
    0.71448637583331709  a
    0.71457954068960816  b
    0.7145609077183499
    0.7148404022872229
    0.71448637583331709  a
    0.71457954068960816  b
    0.71485903525848116
    0.7148404022872229
      

  7.   

    SELECT CAST(LEFT(NEWID(),6) AS VARBINARY) AS CCC FROM SYSCOLUMNS
    与下面这条不是一样的么?
    select top 100 right(newid(),10) from syscolumns
      

  8.   

    如果只是要100个随机数
    用while 语句生成100个
    declare @tmp table (f1 float)
    declare @i int
    set @i=1
    while (@i<=100)
    begin
    insert into @tmp (f1) values (rand())
    set @i=@i+1
    end
    select * from @tmp
      

  9.   

    要保持唯一性和随机性,就只有guid了
    用其他的,并不能保证唯一