當前位置:首頁 » 編程語言 » sql生成隨機數

sql生成隨機數

發布時間: 2022-11-13 19:15:58

⑴ 怎麼用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里生成四位隨機數

在SQL里先隨機生成1個數字,1-9,A,在隨機生成3個數字,0-9,BCD。然後隨機生成的四位數為:A*1000+B*100+C*10+D。

⑶ 使用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

⑷ 關於SQL如何取隨機數問題

Oracle的隨機數產生函數(DBMS_RANDOM )
2007-10-17 17:12
Oracle8 8.0版介紹了DBMS_RANDOM包,Oracle8i 8.1.6版介紹了DBMS_RANDOM包的新功能,但Oracle8i 文檔中沒有詳細全面介紹其功能。幸運的是:有一個新的DBMS_RANDOM包函數能夠返回0-1之間的隨機數。這個新函數是:
◆ FUNCTION value RETURN NUMBER;
◆ FUNCTION value (low IN NUMBER, high IN NUMBER) RETURN NUMBER;
◆ FUNCTION normal RETURN NUMBER;
◆ FUNCTION string (opt char, len NUMBER) RETURN VARCHAR2;

VALUE函數的第一種形式返回一個大於或等於0且小於1的隨機數;第二種形式返回一個大於或等於LOW,小於HIGH的隨機數。下面是其用法的一個示例:
SQL> select dbms_random.value, dbms_random.value(55,100) from al;
VALUE DBMS_RANDOM.VALUE(55,100)
--------------- -----------------------------
.782821936 79.6367038
NORMAL函數返回服從正態分布的一組數。此正態分布標准偏差為1,期望值為0。這個函數返回的數值中有68%是介於-1與+1之間,95%介於-2與+2之間,99%介於-3與+3之間。事實上,這就是你在清單1中所看到的。
最後,是STRING函數。它返回一個長度達60個字元的隨機字元串。參數OPT可以是清單2顯示的值中的任何一個單個字元。
關於這些函數及DBMS_RANDOM包的文件都包含在SQLPlus中:
select text from all_source
where name = 'DBMS_RANDOM'
and type = 'PACKAGE' order by line;

⑸ 如何在SQL里生成隨機數

從 RAND 生成隨機數的常用方法是,用相對可變的某個值作為種子值,例如將 GETDATE 的幾個部分累加:

SELECT RAND( (DATEPART(mm, GETDATE()) * 100000 )
+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )

⑹ 如何用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 ;
可以上網查詢下。

⑺ SQL語句隨機產生隨機數

產生隨機數:right(rand(),4)
rand()返回一大串帶小數點的數字,用right()截取後面的四位是不是變成了整數

⑻ sql server 怎麼生成隨機數

rand() 定義: 返回從0到1之間的隨機浮點值。
舉例說明:
select rand() as 隨機數   結果如圖:

select cast( floor(rand()*N) as int )  --方法1
結果:20
select cast( ceiling(rand()*N) as int ) --方法2
結果:43
大致一看,這兩種方法沒什麼區別,區別就是他們的生成隨機數的范圍:
方法1的數字范圍:0至N-1之間,如cast( floor(rand()*100) as int)就會生成0至99之間任一整數
方法2的數字范圍:1至N之間,如cast(ceiling(rand() * 100) as int)就會生成1至100之間任一整數
比較 CEILING 和 FLOOR
CEILING 函數返回大於或等於所給數字表達式的最小整數。FLOOR 函數返回小於或等於所給數字表達式的最大整數。
例如,對於數字表達式 12.9273,CEILING 將返回 13,FLOOR 將返回 12。

⑼ 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

熱點內容
手機路由器如何登陸密碼 發布:2025-01-12 18:35:41 瀏覽:463
電光貓無法連接伺服器是什麼原因 發布:2025-01-12 18:32:58 瀏覽:512
迷你世界測試服的密碼從哪裡打開 發布:2025-01-12 18:25:32 瀏覽:109
我的世界手游tis伺服器 發布:2025-01-12 18:24:28 瀏覽:585
青海省分布式伺服器雲主機 發布:2025-01-12 18:12:03 瀏覽:476
英雄聯盟安卓手機版怎麼切換 發布:2025-01-12 18:10:53 瀏覽:381
q5尊享時尚型哪些配置 發布:2025-01-12 18:05:41 瀏覽:229
安卓版本哪裡下載 發布:2025-01-12 18:05:39 瀏覽:557
mc伺服器搭建搜不到 發布:2025-01-12 17:57:37 瀏覽:18
手機手勢密碼忘了怎麼辦 發布:2025-01-12 17:14:51 瀏覽:487