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

原创文章若转载请注明:转载自imac's 博文@http://ilovestg.cnblogs.com

更多相关文章

  1. 请教用sql loader导入数据,最后一位是整数的问题
  2. js实现把整数秒转化为"hh:mm:ss"的时间格式.
  3. 给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标

随机推荐

  1. 在Access中利用Jquery技术实现专业的界面
  2. 如何使用特定样式获取jquery中的第一个和
  3. jQuery插件制作备忘
  4. Jquery插件Thickbox的使用总结及自定义设
  5. 如何在更新面板刷新之后运行一些javascri
  6. 新手怎么学习jQuery快成
  7. 优秀js开源框架-jQuery使用手册(6)
  8. jquery常用代码片段
  9. JQuery的一些基本功能代码(CH1&2)
  10. 【jQuery】调用delay()方法延时执行动画