返回任意两个数字之间的随机数
基于 RAND() 函数和一些运算,就可以返回任意两个数字之间的随机数:
low + RAND() * (high - low)
1.SELECT 10 + RAND() * (20-10) AS rd;
以上表达式将会返回一个大于 low,小于 high 的随机数。例如:
SELECT 10 + RAND() * 10 AS rd;
SELECT 10 + RAND() * (20-10) AS rd;
如果想要生成某个范围内的随机整数,可以加上 FLOOR 函数。例如:
SELECT FLOOR(10 + RAND() * 10) AS rd;
SELECT FLOOR(10 + RAND() * 10) AS rd;
SQL 生成随机数
- SELECT abs(checksum(newid()))%(10-3+1)
- SELECT 1 + RAND() * (20-1) AS rd;
- -- select low + RAND() * (high - low);
- -- 返回大于等于 low 小于(不等于)high 的随机数
- SELECT CONVERT(float,RIGHT(ABS(CHECKSUM(NEWID())),4))/100 *0.01;
- SELECT CONVERT(BIGINT,RIGHT(ABS(CHECKSUM(NEWID())),2))/100 *0.01;
- SELECT cast((rand()*0.1 + 0.85) as dec(14,2))
- -- 返回0.1-0.85之间的随机数
- SELECT RAND();
1.SELECT abs(checksum(newid()))%(10-3+1) 2.SELECT 1 + RAND() * (20-1) AS rd; 3.-- select low + RAND() * (high - low); 4.-- 返回大于等于 low 小于(不等于)high 的随机数 5.SELECT CONVERT(float,RIGHT(ABS(CHECKSUM(NEWID())),4))/100 *0.01; 6.SELECT CONVERT(BIGINT,RIGHT(ABS(CHECKSUM(NEWID())),2))/100 *0.01; 7.SELECT cast((rand()*0.1 + 0.85) as dec(14,2)) 8.-- 返回0.1-0.85之间的随机数 9.SELECT RAND();