码迷,mamicode.com
首页 > 数据库 > 详细

T-SQL中的随机数

时间:2016-06-15 12:16:29      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

 

SQL开发中会有生成随机数的需求,下面说几种常用的需求和解决办法(基于MS SQL),最后总结出通用的办法:

1、0-9间的随机整数,包括0和9本身:

abs(checksum(newid()))%10

扩展从a-b间的随机整数(a,b本身也是整数):

a+abs(checksum(newid()))%(b-a+1)

2、0-1间的随机实数: rand()

--或是 rand(checksum(newid()))

--推荐使用后一种。

由此扩展从a-b间的随机实数: a+rand(checksum(newid()))*(b-a)

注意上面的取法使得取值范围(a,b],若是想要取得(a,b),可以采用下面的表达式

a+rand(checksum(newid()))*(b-a)*0.99999 -- 此处0.99999可以更换为0.999999999,精度根据需要来取

PS:其中的rand() checksum() newid() abs()等函数请自行查阅联机丛书或google

T-SQL中的随机数

标签:

原文地址:http://www.cnblogs.com/fengyingwang/p/5586955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!