sql server 生成随机数 rand函数

时间:2018-06-05 11:10:32   收藏:0   阅读:236

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

在某一个区间内生成随机数

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

原理,rand函数会生成一个在0到1之间的随机float数。

用这个随机数*区间范围+最小值,就得到一个区间范围内的随机数。然后用round函数去掉小数点后面的。

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-2008

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

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.

 

原文:https://www.cnblogs.com/chucklu/p/9138402.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!