核心思路:用rand(checksum(newid()))生成0到1之间随机数,乘以60并减去原来的秒数,即可得到0到60之间的随机秒数。
create table a ([时间] datetime);insert into a
select '2013-08-30 17:59:35' union all
select '2013-09-01 17:59:35' union all
select '2013-09-02 17:59:35' union all
select '2013-09-03 18:59:35'
update a set [时间]=dateadd(ss,(rand(checksum(newid()))60-datepart(ss,[时间])),[时间])
结果如下
SQL使用函数rand()产生随机数,返回0~100的随机整数使用下面的语句:
select cast(floor(rand() 101) as int)
生成0至100之间任一整数
在SQL里先随机生成1个数字,1-9,A,在随机生成3个数字,0-9,BCD。然后随机生成的四位数为:A1000+B100+C10+D。
打开一个空白表。
在B2总输入=Randbetween。
点击d出的Randbetween,会发现单元格内多了一个单边括号。
点击公式编辑栏的FX。
d出一个对话框。
第一行输入1,第二行输入36,确定。
下拉公式。
1、以某整数字段为种子(没有的话要生成一个)
2、通过RAND函数生成一个0-1之间的随机数。如07136106261841817
3、然后转换成文本型
4、再取后7位即可RIGHT(CONVERT(VARCHAR,RAND(序号)),7) 。
具体语句如下:
如果表中有一个字段为整型的序号或标识列,那么就可以以序号为种子生成随机的学号字段。
UPDATE TABLENAME SET 学号=RIGHT(CONVERT(VARCHAR,RAND(序号)),7) WHERE 序号 IS NOT NULL
如果没有整型的序号或标识列,就要根据表中能够唯一标识确定某行的关键字段来生成学号,如ID
UPDATE TABLENAME SET 学号=RIGHT(CONVERT(VARCHAR,rand((select count(1) from tablename a where aid>=tablenameid))),7)
1到10之间的随机整数:
Select Round(Rand()9+1,0)
n到m之间的随机整数(n<m):
Select Round(Rand()(m-n)+n,0)
汗,昨天我才回答过同样的问题
首先:你要用random这个函数取一个随机数,假如得到的随机数的变量名为t
然后:sql="select from xxx where id="&t
这样就取到了啊!
取3条你就用
do while cishu<3
loop
以上就是关于SQL修改一个时间字段秒数为随机数!全部的内容,包括:SQL修改一个时间字段秒数为随机数!、sql 自定义函数返回0~100的随机整数、如何在SQL里生成四位随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)