SQL Server (Transact-SQL) RAND() 函数返回 0 到 1 之间的随机数(不包括在内)。如果没有提供种子,该函数将返回一个完全随机的数字。如果提供了种子,该函数将返回可重复的随机数序列。
语法
RAND(seed)
参数
seed | 可选。 如果指定了seed,则该函数返回可重复的随机数序列。如果没有指定种子,则返回完全随机数 |
返回值
返回随机数0 到 1 之间的数字,不包括。
示例:
下面的示例显示了 RAND() 函数的用法。
/* 没有提供种子值,
因此结果可能会有所不同
*/
SELECT RAND();
Result: 0.5499342331612234
/* 10 is provided as seed value */
SELECT RAND(10);
Result: 0.7137596899542473
/* 0 is provided as seed value */
SELECT RAND(0);
Result: 0.9435973904241444
给定范围内的随机数
SQL Server (Transact-SQL) RAND() 函数可用于创建给定范围内的随机数。例如 - 要创建范围 (a, b) 内的随机数,可以使用以下公式:
SELECT RAND()*(b-a) + a;
示例:
在下面的示例中, RAND 函数用于创建范围 (100, 200) 之间的随机数。
/* 没有提供种子值,因此结果可能会有所不同*/
SELECT RAND()*(200-100) + 100;
Result: 167.5283305591982
/* 10为种子值 */
SELECT RAND(10)*(200-100) + 100;
Result: 171.37596899542473
/* 0为种子值 */
SELECT RAND(0)*(200-100) + 100;
Result: 194.35973904241445
给定范围内的随机整数
SQL Server (Transact-SQL) RAND() 函数可用于创建给定范围之间的随机整数。例如 - 要创建范围 (a, b) 内的随机整数,可以使用以下公式:
SELECT FLOOR(RAND()*(b-a)) + a;
示例:
在下面的示例中, RAND 函数用于创建范围 (500, 600) 之间的随机整数。
/* 没有提供种子值,因此结果可能会有所不同 */
SELECT FLOOR(RAND()*(600-500)) + 500;
Result: 557
/* 10为种子值 */
SELECT FLOOR(RAND(10)*(600-500)) + 500;
Result: 571
/* 0为种子值 */
SELECT FLOOR(RAND(0)*(600-500)) + 500;
Result: 594