SQL Server踩坑——隨機數

目的:想在本來表的基礎上插入一列隨機數,用來匹配某個內容,達到字段內容隨機輸出的目的。編程

但不巧的是 SQL Server 向一列中插入隨機數時,並不能逐個的插入隨機數,它的隨機數生成函數 rand() 只執行了一次,而後將結果批量更新到你所須要的列中,這樣致使的結果就是該字段的列都是同一個隨機數。過程以下所示:函數

--建表代碼
CREATE TABLE #CSDN
(
	ID INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
	NUM INT
)

插入五條空數據 插入五條空數據編碼

--插入隨機數
UPDATE #CSDN SET NUM = CAST(CEILING(RAND()*100)as INT)

從新查詢,結果以下: 在這裏插入圖片描述code


解決辦法:使用該字段惟一的標識,如ID、訂單號或者其餘編碼等 INT 類型的數據看成隨機數,經過取餘運算(%)進行匹配。blog

歡迎關注,本號將持續更新本人編程路上的各類見聞。圖片

在這裏插入圖片描述

相關文章
相關標籤/搜索