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)
相关文章
相关标签/搜索