SQL生成百萬隨機數 sqlserver

2021-08-28 08:26:23 字數 1080 閱讀 6241

--建表

表名tb 欄位id 必須是char型

create

table

tb(id char(8

))--建立用於自動過濾重複值的唯一索引 表名tb 欄位id

create

unique

index ix_tb on

tb(id)

with

ignore_dup_key

go--插入隨機資料

setnocount

ondeclare @row int

set @row =

1000000

-- 設定總記錄數 1000000

while @row >

0begin

--顯示提示資訊, 表示還需要插入多行資料

raiserror

('need %d rows',10

,1, @row)

with

nowait

--插入隨機的位編碼資料

setrowcount @row

--插入方法a 隨機數字

insert tb select id =

right

(100000000(最好是比記錄數大,相等也可以) +

convert

(bigint,

abs(

checksum

(newid()

))),

8(8位數))

--插入方法b 隨機字母加數字

insert tb select id =

right

(replace

(newid()

,'-',''

),8(

8位數)

)from syscolumns c1,syscolumns c2

set @row = @row - @@rowcount

end

注意:生成的隨機數其實是0,1,2.。。的概率是相同的,所以0開頭的跟與1開頭的資料數量基本相同,所以建議多生成10%的資料,去除掉以0開頭的資料

SQL 生成隨機數

select from northwind.orders order by newid 隨機排序 select top 10 from northwind.orders order by newid 從orders 表中隨機取出10 條記錄 示例a.對變數使用newid 函式 以下示例使用newid...

程式生成隨機數與SQL語句生成隨機數

隨機數可以通過程式生成,也可以通過sql語句生成。通過程式生成隨機數時一般採用硬體的編號 時間作為種子,這種方法在瞬間插入資料庫n條資料的時候會影響隨機數的效果,生成很多相鄰的插入值相同。所以頻繁插入時可以使用sql語句的內建函式生成隨機數,可以避免此類事情發生。demo c int min 0,m...

隨機生成隨機數

現畫乙個command命令按鈕,進行貼上。private sub command1 click show me scale 0,0 18,8 me.auto redraw true me.draw mode 2 circle 3,4 3,vb red me.auto redraw false lin...