SQL随机数和批量操作

1.java
new Random().nextInt(10)产生的是0-9的随机数
new Random().nextInt(11)产生的是0-10的随机数
int number = new Random().nextInt(10) + 1;//1-10的随机数

2.sql

数字范围:0至N-1之间,如cast( floor(rand()*100) as int)就会生成0至99之间任一整数
数字范围:1至N之间,如cast(ceiling(rand() * 100) as int)就会生成1至100之间任一整数
select ceiling(rand() * N) —生成的数是这样的:12.0
select cast(ceiling(rand() * N) as int) —生成的数是这样的:12

MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可以随机生成小写、大写字母,特殊字符和数字。

大写字母:
CHAR(ROUND(RAND() * 25 + 65,0))

小写字母:
CHAR(ROUND(RAND() * 25 + 97,0))

特殊字符:
CHAR(ROUND(RAND() * 13 + 33,0))

数字:
CHAR(ROUND(RAND() * 9 + 48,0))

3.sql批量操作

declare @i int
set @i=1
while @i<243
begin
update [POW].[dbo].[mains_qty_stat_monthly] set max_fail_dur=ceiling(rand()*15)+ 9 where id=@i
set @i=@i+1
end

猜你喜欢

转载自blog.csdn.net/yhfmj123/article/details/50739371