加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

网上找到的一个SQLServer取随机数和随机日期的方法

发布时间:2020-12-12 16:05:42 所属栏目:MsSql教程 来源:网络整理
导读:指定范围的随机数 ? --创建视图?? ? create?? view???randView?? as?? select?? re=rand()?? ??? ? --自定义函数:取得指定范围的 随机数 ?? ? create?? function?? getNum(?? ? @a?? int,?? ? @b?? int)?? ? returns?? decimal(38,0)?? ? as?? ? begin?? ? d

指定范围的随机数

?

--创建视图??
? create?? view???randView?? as?? select?? re=rand()??
???
? --自定义函数:取得指定范围的
随机数??
? create?? function?? getNum(??
? @a?? int,??
? @b?? int)??
? returns?? decimal(38,0)??
? as??
? begin??
? declare?? @r?? decimal(38,0)??
? select?? @r=cast(re*(@b-@a)+@a?? as?? decimal(38,0))?? from?? randView??
? return(@r)??
? end??
? go??
???
? --调用(可以随意指定你要的数据范围)
select dbo.getNum(1000,9999)

?

?

指定范围的随机日期

create?proc getRandDateTime
@MinDate datetime,
@MaxDate datetime
as
?declare @RandValue int
?declare @ReturnValue int

--把GUID转换成二进制并转换成数字
select @RandValue= ABS(CAST(Cast(NEWID() as binary(8)) as int))

--用随机数对两个日期的差值取余

--用最小日期加上取到的余数,就可以得到指定范围的随机日期 select @MinDate+@RandValue%CAST((@MaxDate-@MinDate) as int)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读