关于随机发生数(回复有分)

qcbao 2003-12-04 03:03:07
SQL Server的随机发生数Rand无法满足应用的需要,求一个可以带上下限的随机发生数,类似其他语言,最好效率高一些.
...全文
44 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chao778899 2003-12-04
  • 打赏
  • 举报
回复
up ,学习
btlxy 2003-12-04
  • 打赏
  • 举报
回复
支持zjcxc(邹建)
zjcxc 元老 2003-12-04
  • 打赏
  • 举报
回复
--下面是自定义函数,可以取得指定上下限的随机数

--需要这样一个视图
create view v_rand as select re=rand()
go
--自定义函数:取得指定上下限的随机数
create function f_rand(
@下限 int,
@上限 int
)
returns decimal(38,0)
as
begin
declare @r decimal(38,0)
select @r=cast(re*(@上限-@下限)+@下限 as decimal(38,0)) from v_rand
return(@r)
end
go

--调用示例
select dbo.f_rand(10,100),dbo.f_rand(10,100)
zjcxc 元老 2003-12-04
  • 打赏
  • 举报
回复
declare @上限 int,@下限 int
select @上限=1000,@下限=500

select cast(rand()*(@上限-@下限)+@下限 as decimal(38,0))
btlxy 2003-12-04
  • 打赏
  • 举报
回复
下界0
qcbao 2003-12-04
  • 打赏
  • 举报
回复
这样做关键是没有下限
txlicenhe 2003-12-04
  • 打赏
  • 举报
回复
0-3000
select rand()*3000
pengdali 2003-12-04
  • 打赏
  • 举报
回复
-- 0到4

select cast(rand(checksum(newid()))*5 as int)
txlicenhe 2003-12-04
  • 打赏
  • 举报
回复
0-3000的
rand(10) * 3000

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧