當前位置:首頁 » 編程語言 » sql返回隨機行
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql返回隨機行

發布時間: 2022-08-09 11:23:54

『壹』 如何在sql中隨機選擇行

//mysql:隨機選擇前10
SELECT*FROMtablenameORDERBYRAND()LIMIT0,10
//mssql:隨機選擇前10
selecttop10*,newid()

『貳』 關於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函數用於返回一串隨機字元串

可以.
--存儲過程
create table #TB(UserID varchar(10),PassWord varchar(16))
go
CREATE PROC #PROC
AS
BEGIN
DECLARE @S VARCHAR(10)
SET @S=REPLACE(NEWID(),'-','')
IF NOT EXISTS (SELECT 1 FROM #TB where UserID=@s)
begin
insert into #TB(UserID,PassWord) select @s,'fcs'
end
else
begin
select '已經存在'
end
END
--調用
EXEC #PROC

『肆』 sql中怎麼獲取任意一行

Top 1 配合 Order by newid() 就可以了。
下面是一個 有50行數據的 測試表中, 隨機處理的例子。

-- 測試表
1> CREATE TABLE #t (
2> id INT
3> );
4> GO

-- 測試數據
1>
2> INSERT INTO #t
3> SELECT
4> number
5> FROM
6> master..spt_values
7> WHERE
8> type='P'
9> AND number between 1 and 50;
10> GO

(50 行受影響)

-- 第一次隨機。
1>
2> SELECT top 1
3> *
4> FROM
5> #t
6> ORDER BY
7> newid();
8> go
id
-----------
14

(1 行受影響)

-- 第二次隨機。
1> SELECT top 1
2> *
3> FROM
4> #t
5> ORDER BY
6> newid();
7> go
id
-----------
25

(1 行受影響)

『伍』 sql中的隨機函數怎麼用

sql server的rand()函數:返回0到1之間的隨機浮點值
round()函數:返回數值表達式,舍入到指定長度或精度。
例如隨機取得0~99之間的數: round(rand()*100,0)
隨機取得100~199之間的數:round(rand()*100+100,0)

『陸』 在SQL Server數學函數中,獲取0~1之間的隨機值的函數是什麼

MSSQLSERVER如要獲取0~1之間的隨機數可以使用下列表達式:

Floor(2* Rand())

例如每次運行下列SQL語句,將隨機返回0或1

selectFloor(2*Rand());

請注意MSSQL的SQL語言,每次運行select,不論檢索出多少行,隨機函數rand都將返回相同的隨機數。

另外,需要返回某個指定范圍的隨機整數請參考下列公式:

Floor((upperbound - lowerbound + 1) * Rand() + lowerbound)

參數說明:

upperbound 為正整數上限

lowerbound 為正整數下限

Rand()為系統隨機函數

Floor()為系統函數,返回小於或等於所給數字表達式的最大整數。

有不同需要時,照套上述公式就可以了。

『柒』 sql 自定義函數返回0~100的隨機整數

SQL使用函數rand()產生隨機數,返回0~100的隨機整數使用下面的語句:
select cast(floor(rand() * 101) as int)
生成0至100之間任一整數

『捌』 如何利用SQL隨機顯示一條數據

核心思路:在SQL Server中,可以用order by newid()實現隨機排序

--測試數據
withtmp(a,b)as(
select1,2unionall
select1,3unionall
select2,3unionall
select2,4unionall
select2,9)
--利用row_number和orderbynewid()實現隨機取一行
selecta,bfrom(
selecta,b
,row_number()over(partitionbyaorderbynewid())asseq
fromtmp
)twhereseq=1

第一次運行結果:

『玖』 在SQL中怎麼樣獲取隨機數

1、隨機小數 select rand(),