网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.比较SQL Server 2000 数据库中两.
.SQL优化实例:从运行30分钟到运行.
.使用索引调节向导调整应用程序的.
.Sql Server数据库的备份和恢复措.
.通过数据仓库来实现少花钱多办事.
.Micorsoft SQL Server 2008数据仓.
.用一个案例讲解SQL Server数据库.
.两表(多表)关联update的写法.
.根据一定原则自动生成序列号的具.
.图文讲解如何对SQL Server进行日.
.sql2000挂起无法安装的问题.
.数据库查询结果的动态排序(1).
.一些工作和学习中经常用到的"SQL.
.SQL Server SA权限总结经典技术.
.配置SQL Server 2000选项.
.sql2k中新增加的Function的sqlbo.
.五种提高SQL性能的方法.
.关于sql的小玩意 sql server添加.
.SQL Server数据库管理员必备的DB.
.SQL Server 2000 在 win2003上安.

生成100万不重复的8位均匀分布的随机编号

发表日期:2008-7-4


这篇论坛文章(赛迪网技术社区)着重介绍了生成100万不重复的8位均匀分布的随机编号方法,详细内容请参考下文:

要在10000000 - 99999999之间产生100万个不重复的随机数。可以建立一个表table1,这个表有两个字段,一个是所产生的随机数字段(int型),另外一个也是int型字段。

使用99999999 - 10000000 =89999999 整除 1000000 = 89(舍去)。然后从10000000开始循环1000000次,从10000000开始每一次加89,

即10000000、10000089、10000178...

然后每循环一次,使用newid生成一个随机数,将这两个数做为值插入table1中。即第一个字段插入按步长89递增的数,第二个数是使用newid随机生成的数。这样,table1就有100万条记录了,不过随机值是顺序的。但由于第二个字段是随机的,因此,只要按第二个字段排序,第一个字段上的值就是随机的。

这样做不用检查重复值就可以保证得到1000000个无重复的随机数。而且它们是均匀分布在10000000到99999999之间。

当然,也可以随机变化89的步长,使其更加随机。

这样做还有一个好处,可以分批地生成记录,然后一起插入表中。如一次产生1000条这样的记录,插入后再产生下一千条记录。这样只要循环1000次就可完成。

上一篇:教你快速掌握一些特别实用的"SQL"语句 人气:954
下一篇:Vista下安装SQL Sever 2005报错的解决办法 人气:1242
浏览全部sql server的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐