当前位置:首页 » 操作系统 » 数据库生成随机数据

数据库生成随机数据

发布时间: 2022-05-05 16:33:13

㈠ 如何生成随机数数据库

首先要引用ADO对象,打开菜单“工程-引用”,选择“Microsoft ActiveX Data Objects 2.0 Library”将其沟选,这样就可以进行声明ADO对象了
Dim cnn As New ADODB.Connection 'ADO连接对象
Dim Collection As ADODB.Recordset 'ADO记录集对象
Dim Cnt As Integer '计算产生随机数的个数
Dim No() As Integer '动态数组存放所有产生的随机数字

Private Sub Command1_Click()
Form_Unload (True) '调用窗体的卸载事件
End Sub

Private Sub Form_Load()
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path "\Collection.mdb"
'打开数据库连接,驱动程序Microsoft.Jet.OLEDB.4.0,数据源为当前目录下的Collection数据库
Set Collection = New ADODB.Recordset
'申请一个新的Collection记录集对象
Collection.Open "select * from tab", cnn, adOpenKeyset, adLockOptimistic
'打开记录集对象
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
If Cnt

sql产生随机数

下文将为您介绍SQL中的随机函数rand(),供您参考,如果您是才接触SQL Server的新手,不妨一看,相信对您学习SQL中的函数会大有帮助。
在SQL Server中,有个随机函数rand(),有不少新手可能不知道存在这个函数,现在我就把这个函数的一些随机数生成技巧写出来,这是面向菜鸟的,老鸟请不要拍砖呀,我的头还不够硬
不过还是希望老鸟们多多指教了,现在切入正题:
随机函数:rand()
在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,
像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。那就看下面的两种随机取整数的方法:
1、
A:
select floor(rand()*N) ---生成的数是这样的:12.0
B:
select cast( floor(rand()*N) as int) ---生成的数是这样的:12
2、
A:select ceiling(rand() * N) ---生成的数是这样的:12.0
B:select cast(ceiling(rand() * N) as int) ---生成的数是这样的:12
其中里面的N是一个你指定的整数,如100,可以看出,两种方法的A方法是带有.0这个的小数的,而B方法就是真正的整数了。
大致一看,这两种方法没什么区别,真的没区别?其实是有一点的,那就是他们的生成随机数的范围:
方法1的数字范围:0至N-1之间,如cast( floor(rand()*100) as int)就会生成0至99之间任一整数
方法2的数字范围:1至N之间,如cast(ceiling(rand() * 100) as int)就会生成1至100之间任一整数
对于这个区别,看SQL的联机帮助就知了:
------------------------------------------------------------------------------------
比较 CEILING 和 FLOOR
CEILING 函数返回大于或等于所给数字表达式的最小整数。FLOOR 函数返回小于或等于所给数字表达式的最大整数。例如,对于数字表达式 12.9273,CEILING 将返回 13,FLOOR 将返回 12。FLOOR 和 CEILING 返回值的数据类型都与输入的数字表达式的数据类型相同。
----------------------------------------------------------------------------------
现在,各位就可以根据自己需要使用这两种方法来取得随机数了^_^
另外,还要提示一下各位菜鸟,关于随机取得表中任意N条记录的方法,很简单,就用newid():
select top N * from table_name order by newid() ----N是一个你指定的整数,表是取得记录的条数 。

㈢ 谁知道数据库中怎样产生随机数

公式:(上限-下限+1)* rand() -下限

介绍:John von Neumann说:Any one who considers arithmetical methods of procing random digits is , of course, in a state of sin.

所以,在讨论算法实现随机数的时候,总是说“伪随机数”。

现在,应用最广的随机数生成算法是由Derrick Henry Lehmer1951年给出的线性同余法:

Xn+1 = ( aXn + c ) mod m, n>=0.

在上一篇伪随机数的论述中,并没有给出X0, a, c, m的取值规则,只是给出了ANSI C和Microsoft Visual C++的实现。

在这儿我们可以自己先思考一下,我们期望从上式中得到的随机数应该满足:

1) 上式的输出足够随机,这是最基本的要求;

2) 上式给出尽量多的输出,越接近m个越好(不可能超过m),即周期尽量长,最好为m,这样才能保证上式满足均匀分布(m个数在周期m中各出现一次);

3) 上式的生成速度足够快。

最容易想到的,m的取值为计算机字大小(如2^32或2^64)。

但是这儿有个很严重的问题:Xn低位的随机性很弱。原因如下:

令d|m, 且

Yn = Xn mod d



Yn+1 = ( ( aXn + c ) mod m ) mod d

= ( aYn + c ) mod d

上述表达式的意义即:Yn为Xn低k位(d=2^k),这样的Yn序列形成周期为d甚至更短的同余序列。举例说明:d为2^1时,Yn为Xn的最低位(可假定为1或0),若Yn+1 != Yn,则Yn+2 == Yn必定成立,仅当a、c皆为奇数时Yn、Yn+1将0、1交替,否则,为常数(0或1)。

暂时抛开随机性不管,先找到周期为m的随机序列中的取值规则。

Donald Knuth在The Art of Computer Programming, Volume 2: Seminumerical Algorithms中的3.2.1.2节对m, a, c和X0取值规则的表述:

1) gcd(c, m) = 1. 即c, m互素,再白一点,c, m除1之外没有其他公因子;

2) 任给质数p, p|m ==> p|(a-1). 即m%p==0,则(a-1)%p==0。

3) 4|m ==> 4|(a-1). 即m%4==0,则(a-1)%4==0。

这个证明过程对于我这样的数论基础不是很扎实的搞应用技术的人来说有点难以理解了。有兴趣的话,还是去看3.2.1.2的证明吧:-)。

上面的规则告诉我们,满足了上述规则后,可以保证序列周期为m。对于前面提到的关于随机性的问题,既然Xn低位的随机性比较弱,可以只取Xn的高位作为输出。高位的随机性和统计意义由a, c确定,其取值涉及统计检验,具体的也还是看3.3吧。

这篇文章解决了具有统计意义的随机数的部分理论问题。

PS: 之前曾经BS过Windows Live Writer,当时觉得Writer编辑功能太少,不能直接设定链接文字的字体颜色,知道CSS可以设定之后,又觉得Word 2007编辑的Blog转成html之后太大,而且也知道Word 2007上面是可以设置链接的target为_blank的。现在发现Writer还是很不错的了,原来是可以设定格式的,也可以直接编辑html,而且可以Web预览,链接还可以加入到链接词汇表,挺方便的。

㈣ VB如何生成随机数

1、打开“Microsoft Visual Basic 6.0 中文版”软件,准备一个空白的工程文件:

㈤ 怎么生成随机数

众所周知,中琅条码软件可以批量打印条码二维码以及各种各样的产品标签,功能比较齐全,操作也非常简单,今天小编就给大家简单介绍下条码软件中如何随机生成0-9个位数字。

在条码软件中随机生成0-9个位数字有两种方法,一是应用条码软件自带的“随机生成”工具,二是利用“脚本编程”工具。

以上就是条码软件中利用“随机生成”工具和“脚本编程”工具两种随机生成0-9个位数字的方法。条码软件中还有“序列生成”、“数据库导入”、“手动输入”、“日期时间”、“数据引用”、“打印时输入”等数据添加方法,感兴趣的小伙伴可以下载软件体验。

附:以下是条码软件中随机生成1-9个位数字代码:

strReturn=(Math.floor(Math.random()*9)%9+1).toString();

//随机生成1-9个位数字

㈥ 如何在access数据库里产生随机数

access中产生随机数用rnd函数。

如:

selectrnd()

执行结果:

说明:

rnd() 产生一个大于等于0 且小于 1的随机数,如果要产生[m,n]中随机的整数公式:int((n-m+1)*rnd)+m
int(rnd()*1000)表达式产生大于0,小于1000的整数
int(rnd()*900)+100表达式产生大于100,小于1000的整数

㈦ C# 数据库随机抽取数据

我这只是思路啊,这个要实现的话要使用多线程技术
一个线程负责产生随机数与抽取数据
1首先一个随机数
对比内变量里的随机数,是否有重复,如果重复则此次无效,重新生成
2,根据此随机数抽取数据库中数据。
另一个线程负责清空内存变量的数据
即此线程开着一个计时器,然后根据时间来清除数据
希望对你有所帮助

㈧ 数据库怎么让一列生成随机数

insert
into
a(id,姓名,性别)
values
(trunc(dbms_random.value(1,100)),'小明','男');
commit;
----trunc(dbms_random.value(1,100))
随机生成一个1~100以内的整数。

㈨ 如何从access数据库随机抽取一条数据

这简单,你只要先获取那个数据库的总行数N(学生总数),然后用随机函数Rnd生成一个总数以内的一个整数:Int(Rnd*N),然后用这个数做为条件去查数据库获得需要的信息就可以拉。

热点内容
mysql上传图片php 发布:2024-10-07 04:13:31 浏览:852
手游喊话脚本 发布:2024-10-07 03:53:53 浏览:232
maven3编译jdk6项目 发布:2024-10-07 03:19:57 浏览:45
缓存的视频无法剪辑 发布:2024-10-07 03:19:40 浏览:89
解压工具RAR 发布:2024-10-07 02:42:49 浏览:353
苹果网盘解压 发布:2024-10-07 02:42:49 浏览:160
为什么安卓苹果手游不互通 发布:2024-10-07 02:31:28 浏览:280
如何删除手机中的游戏缓存 发布:2024-10-07 02:11:28 浏览:876
解锁数据库用户 发布:2024-10-07 01:55:54 浏览:828
关系数据库的关键字是指 发布:2024-10-07 01:55:54 浏览:519