① 用sql server生成隨機數
--創建視圖
create view myview as select re=rand()
--自定義函數:取得指定范圍的隨機數
create function mydata(
@a int,
@b int)
returns decimal(38,0)
as
begin
declare @r decimal(38,0)
select @r=cast(re*(@b-@a)+@a as decimal(38,0)) from myview
return(@r)
end
go
--調用(可以隨意指定你要的數據范圍)
select user_no,dbo.mydata(1000,9999) number from table1
--可以在你原來的查詢基礎上增加一列number,如不增加列,
--那就把上面的結果放入一個臨時表 #a,然後update
--如:
update table1 set number1=a.number from #a a,table1 b where a.user_no=b.user_no
② SQL語句插入隨機數記錄
表有多少欄位,你只是插入一個隨機數到一個欄位嗎?
declare @i int
set @i=0
while @i<10 --修改數值你要添加多少行數據
begin
insert into biao
select RAND()*100
set @i=@i+1
end
③ 如何在SQL里生成隨機數
從 RAND 生成隨機數的常用方法是,用相對可變的某個值作為種子值,例如將 GETDATE 的幾個部分累加:
SELECT RAND( (DATEPART(mm, GETDATE()) * 100000 )
+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )
④ SQL update...set...數值按隨機數增加的語句怎麼寫
看樣子,資料庫像sqlserver的,如果是單條update的話,用這個:
UPDATES_calculatePrepaidMoneySET[count]=[count]+ceiling(rand()*9)
其中:
selectceiling(rand()*9)
就是1-9的隨機數
⑤ 我需要在這個SQL上面加上隨機數,求解!
在oracle 用* 查詢子查詢需要加上表別名:
selectDBMS_RANDOM.RANDOMasrandom,t.*from(select*fromnydict.DictDepartmentwheredepartid='96'unionall
select*fromnydict.DictDepartmentwheredepartid<>'96'andrownum<36)torderbyrandomdesc
⑥ sql server 怎麼生成隨機數
--創建視圖
create
view
myview
as
select
re=rand()
--自定義函數:取得指定范圍的隨機數
create
function
mydata(
@a
int,
@b
int)
returns
decimal(38,0)
as
begin
declare
@r
decimal(38,0)
select
@r=cast(re*(@b-@a)+@a
as
decimal(38,0))
from
myview
return(@r)
end
go
--調用(可以隨意指定你要的數據范圍)
select
user_no,dbo.mydata(1000,9999)
number
from
table1
--可以在你原來的查詢基礎上增加一列number,如不增加列,
--那就把上面的結果放入一個臨時表
#a,然後update
--如:
update
table1
set
number1=a.number
from
#a
a,table1
b
where
a.user_no=b.user_no
⑦ SQL產生隨機數
下文將為您介紹SQL中的隨機函數rand(),供您參考,如果您是才接觸SQL Server的新手,不妨一看,相信對您學習SQL中的函數會大有幫助。
在SQL Server中,有個隨機函數rand(),有不少新手可能不知道存在這個函數,現在我就把這個函數的一些隨機數生成技巧寫出來,這是面向菜鳥的,老鳥請不要拍磚呀,我的頭還不夠硬
不過還是希望老鳥們多多指教了,現在切入正題:
隨機函數:rand()
在查詢分析器中執行:select rand(),可以看到結果會是類似於這樣的隨機小數:0.36361513486289558,
像這樣的小數在實際應用中用得不多,一般要取隨機數都會取隨機整數。那就看下面的兩種隨機取整數的方法:
1、
A:
select floor(rand()*N) ---生成的數是這樣的:12.0
B:
select cast( floor(rand()*N) as int) ---生成的數是這樣的:12
2、
A:select ceiling(rand() * N) ---生成的數是這樣的:12.0
B:select cast(ceiling(rand() * N) as int) ---生成的數是這樣的:12
其中裡面的N是一個你指定的整數,如100,可以看出,兩種方法的A方法是帶有.0這個的小數的,而B方法就是真正的整數了。
大致一看,這兩種方法沒什麼區別,真的沒區別?其實是有一點的,那就是他們的生成隨機數的范圍:
方法1的數字范圍:0至N-1之間,如cast( floor(rand()*100) as int)就會生成0至99之間任一整數
方法2的數字范圍:1至N之間,如cast(ceiling(rand() * 100) as int)就會生成1至100之間任一整數
對於這個區別,看SQL的聯機幫助就知了:
------------------------------------------------------------------------------------
比較 CEILING 和 FLOOR
CEILING 函數返回大於或等於所給數字表達式的最小整數。FLOOR 函數返回小於或等於所給數字表達式的最大整數。例如,對於數字表達式 12.9273,CEILING 將返回 13,FLOOR 將返回 12。FLOOR 和 CEILING 返回值的數據類型都與輸入的數字表達式的數據類型相同。
----------------------------------------------------------------------------------
現在,各位就可以根據自己需要使用這兩種方法來取得隨機數了^_^
另外,還要提示一下各位菜鳥,關於隨機取得表中任意N條記錄的方法,很簡單,就用newid():
select top N * from table_name order by newid() ----N是一個你指定的整數,表是取得記錄的條數 。
⑧ sql 命令如何為某一欄位同時增加隨機數值
這個可以實現的
使用這個可以獲得500以內的隨機整數
select
cast(500*rand()
as
int)
呵呵
修改值自己做咯……
⑨ 怎麼用SQL語句實現某個欄位數為隨機數,如一個表裡的學號欄位,怎麼讓這個學號自動生成7位數的隨機數
1、以某整數欄位為種子(沒有的話要生成一個)
2、通過RAND函數生成一個0-1之間的隨機數。如0.7136106261841817
3、然後轉換成文本型
4、再取後7位即可RIGHT(CONVERT(VARCHAR,RAND(序號)),7) 。
具體語句如下:
如果表中有一個欄位為整型的序號或標識列,那麼就可以以序號為種子生成隨機的學號欄位。
UPDATE TABLENAME SET 學號=RIGHT(CONVERT(VARCHAR,RAND(序號)),7) WHERE 序號 IS NOT NULL
如果沒有整型的序號或標識列,就要根據表中能夠唯一標識確定某行的關鍵欄位來生成學號,如ID
UPDATE TABLENAME SET 學號=RIGHT(CONVERT(VARCHAR,rand((select count(1) from tablename a where a.id>=tablename.id))),7)
⑩ 如何用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
;
可以上網查詢下。