sql server 生成隨機數 rand函數

https://docs.microsoft.com/en-us/sql/t-sql/functions/rand-transact-sql?view=sql-server-2017sql

在某一個區間內生成隨機數

https://stackoverflow.com/questions/7878287/generate-random-int-value-from-3-to-6dom

原理,rand函數會生成一個在0到1之間的隨機float數。函數

用這個隨機數*區間範圍+最小值,就獲得一個區間範圍內的隨機數。而後用round函數去掉小數點後面的。post

DECLARE @Random INT; DECLARE @Upper INT; DECLARE @Lower INT
SET @Lower = 3 ---- The lowest random number
SET @Upper = 7 ---- One more than the highest random number
SELECT @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0) SELECT @Random

 

 

生成布爾值

https://stackoverflow.com/questions/20597269/how-to-generate-random-boolean-value-in-sql-server-2008lua

If you are only generating one row, you could use something as simple as:spa

SELECT CAST(ROUND(RAND(),0) AS BIT)

However, if you are generating more than one row, RAND() will evaluate to the same value for every row, so please see Martin Smith's answer.code

也能夠是這樣server

SELECT ROUND(RAND(),0)
相關文章
相關標籤/搜索