數據表位A_ziliao 有一標志id
首先建立一個過渡表(id,地名)
用游標查詢數據表A_ziliao記錄id
更改列 sheng 為隨機值
declare @fid int,@nn int
declare cursor3 cursor for --定義游標cursor3
select id from A_ziliao --使用游標的對象(跟據需要填入select文)
open cursor3 --打開游標
fetch next from cursor3 into @fid
while @@fetch_status=0 --判斷是否成功獲取數據
begin
set @nn =4*rand +1'隨機id
update A_ziliao set sheng=(select 地名 from 過渡表 where id= @nn )where id=@fid
fetch next from cursor3 into @fid --將游標向下移1行
end
close cursor3 --關閉游標
deallocate cursor3
『貳』 用sql 產生隨機數字
不同的資料庫,寫法是不一樣啊!對於Access資料庫,可以用這個方法實現:
SELECT
Int(Rnd()*100)+1
AS
r1,Int(Rnd()*100)+1
AS
r2,Int(Rnd()*100)+1
AS
r3
如此循環。其他資料庫的寫法類似。
但是如果純粹用sql生成50*200個隨機數,很麻煩的。如果要簡單些,需要額外寫SQL
Server的存儲過程或者Access的宏函數。
可以用Excel表來實現,見附件。
『叄』 使用SQL語句取隨機數的方法
SQL隨機查詢語句,[資料庫使用技巧]SQL語句生成隨機數,如何隨機顯示sql查詢語句查詢的數據記錄集中的20條,隨機取出若干條記錄的SQL語句,使用SQL語句取隨機數的方法
方法如下:
SQL
Server:
Select
TOP
N
*
From
TABLE
order
By
NewID()
Access:
dim
r
randomize
r
=
rnd
sql
=
"select
top
10
*
from
table
order
by
rnd("
&
r
&
"-id)"
rnd("
&
r
&
"-id)
其中的id是自動編號欄位,可以利用其他任何數值來完成,比如用姓名欄位(UserName)
select
top
10
*
from
table
order
by
rnd("
&
r
&
"-Len(UserName))
MySql:
Select
*
From
TABLE
order
By
Rand()
Limit
10
orACLE:
select
*from
(select
*from
t
order
by
dbms_random.value)
where
rownum<10
『肆』 如何在sqlserver中用sql語句插入隨機的大量的數據啊~求救。。
隨機的沒弄,給你寫個簡單的例子
建表
createtabletest(idint,namevarchar(10))
執行過程,我這個就插了100條
declare
@iint
set@i=1
while@i<=100
begin
insertintotestvalues(@i,'張三')
set@i=@i+1
end
數據截圖
樓上那哥們想法不錯,不過用的是oracle里的寫法,但好像還有點問題,變數都沒定義呢
『伍』 請問讓sql隨機生成500個1-100的數字怎麼寫
你可以在sql查詢分析器的幫助裡面看到一些這方面的例子,查詢 rand 就可以了,我把裡面的例子改一下來達到你的要求吧
DECLARE @counter smallint
SET @counter = 1
WHILE @counter < 500
BEGIN
SELECT (RAND(@counter)*99+1) Random_Number
SET NOCOUNT ON
SET @counter = @counter + 1
SET NOCOUNT OFF
END
GO
這樣就能返回500個1到100的隨機數了
rand()是返回一個0-1的隨機數(是float型的),乘以99就能得到0-99的隨機數,再加1就變成1-100之間的隨機數了
『陸』 如何用SQL為每一行均產生一個隨機數
select
dbms_random.random
from
al;
返回的是binary_integer
類型值,產生任意大小的隨機數(正或者負)binary_integer
,范圍為2的31次方到-2的31次方。
具體還有很多關於隨機數字或者字母的使用,都是關於dbms_random系統包的用法,
例如dbms_random.value
;
dbms_random.normal
;
dbms_random.string
;
可以上網查詢下。