核心思路:用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,[时间])),[时间])
结果如下
上传文件的时候,通常使用以下方法生成以时间+随机数组成的文件名,然后保存到数据库。
<%str=year(now())&month(now())&day(now())&hour(now())&minute(now())&second(now())
randomize
num=10000+clng(rnd()89998) '随机5位数
str=str& num '年月日时分秒加上随机数
%>
create table #(mark int)
go
declare @i int
set @i=0
while @i<=59
begin
insert into # values(@i)
set @i=@i+1
end
go
--随机数NewID办法
declare @myRand int
select top 1 @myRand=mark from # order by newid()
select @myRand
go
--Rand()办法(不过只是1-59)
declare @myRand int
select @myRand=cast(CEILING(rand()59) as int)
select @myRand
--还是建议第一种
以上就是关于数据库的发展简史全部的内容,包括:数据库的发展简史、怎么生成随机数、SQL修改一个时间字段秒数为随机数!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)