关于SQL如何取随机数问题
发布网友
发布时间:2022-04-22 11:44
我来回答
共4个回答
热心网友
时间:2022-04-08 07:11
Oracle的随机数产生函数(DBMS_RANDOM )
2007-10-17 17:12
Oracle8 8.0版介绍了DBMS_RANDOM包,Oracle8i 8.1.6版介绍了DBMS_RANDOM包的新功能,但Oracle8i 文档中没有详细全面介绍其功能。幸运的是:有一个新的DBMS_RANDOM包函数能够返回0-1之间的随机数。这个新函数是:
◆ FUNCTION value RETURN NUMBER;
◆ FUNCTION value (low IN NUMBER, high IN NUMBER) RETURN NUMBER;
◆ FUNCTION normal RETURN NUMBER;
◆ FUNCTION string (opt char, len NUMBER) RETURN VARCHAR2;
VALUE函数的第一种形式返回一个大于或等于0且小于1的随机数;第二种形式返回一个大于或等于LOW,小于HIGH的随机数。下面是其用法的一个示例:
SQL> select dbms_random.value, dbms_random.value(55,100) from al;
VALUE DBMS_RANDOM.VALUE(55,100)
--------------- -----------------------------
.782821936 79.6367038
NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。事实上,这就是你在清单1中所看到的。
最后,是STRING函数。它返回一个长度达60个字符的随机字符串。参数OPT可以是清单2显示的值中的任何一个单个字符。
关于这些函数及DBMS_RANDOM包的文件都包含在SQLPlus中:
select text from all_source
where name = 'DBMS_RANDOM'
and type = 'PACKAGE' order by line;
热心网友
时间:2022-04-08 08:29
Oracle的随机数产生函数(DBMS_RANDOM )
2007-10-17 17:12
Oracle8 8.0版介绍了DBMS_RANDOM包,Oracle8i 8.1.6版介绍了DBMS_RANDOM包的新功能,但Oracle8i 文档中没有详细全面介绍其功能。幸运的是:有一个新的DBMS_RANDOM包函数能够返回0-1之间的随机数。这个新函数是:
◆ FUNCTION value RETURN NUMBER;
◆ FUNCTION value (low IN NUMBER, high IN NUMBER) RETURN NUMBER;
◆ FUNCTION normal RETURN NUMBER;
◆ FUNCTION string (opt char, len NUMBER) RETURN VARCHAR2;
VALUE函数的第一种形式返回一个大于或等于0且小于1的随机数;第二种形式返回一个大于或等于LOW,小于HIGH的随机数。下面是其用法的一个示例:
SQL> select dbms_random.value, dbms_random.value(55,100) from al;
VALUE DBMS_RANDOM.VALUE(55,100)
--------------- -----------------------------
.782821936 79.6367038
NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。事实上,这就是你在清单1中所看到的。
最后,是STRING函数。它返回一个长度达60个字符的随机字符串。参数OPT可以是清单2显示的值中的任何一个单个字符。
关于这些函数及DBMS_RANDOM包的文件都包含在SQLPlus中:
select text from all_source
where name = 'DBMS_RANDOM'
and type = 'PACKAGE' order by line;
参考资料:http://hi.baidu.com/chensong_blog/blog/item/4fbb4f4f13649235aec3ab1c.html
热心网友
时间:2022-04-08 10:03
给你一个思路:
如果一个表中有省份字段和城市字段就比较好办:
首先用RS.RecordCount读取数据表的记录数,然后用随机函数生成一个随机数,这个随机数必须小于或等于数据表的总记录数,假如随机数的变量是:X,那么:
RS.Open "Select * From 数据表名 where ID=" & X & "", conn, 2 , 2
注意:数据表中ID字段(自动编号)必须是连续的!!
热心网友
时间:2022-04-08 11:55
select top 1 province.pname, city.cname from city inner join province on city.provinceId=province.provinceId order by city.newId()
首先将两个表连接起来 然后将城市表随机排序,再取第一个
select top 1 pname, cname from (select pname, cname from province inner join city on city.provinceId=province.provinceId) ta order by newid()
先读出全集 然后再随机一个
使用SQL语句取随机数的方法
SQL随机查询语句,[数据库使用技巧]SQL语句生成随机数,如何随机显示sql查询语句查询的数据记录集中的20条,随机取出若干条记录的SQL语句,使用SQL语句取随机数的方法 方法如下:SQL Server:Select TOP N From TABLE order By NewID()Access:dim r randomize r = rnd sql = "select top 10 from ta...
在SQL中怎么样获取随机数
1、随机小数 select rand(),2、随机0-99之间的的整数。select cast( floor(rand()*100) as int)3、随机1-100之间的整数。select cast(ceiling(rand() * 100) as int)4、select newid() 随机十六进制组成的随机数,唯一数。5、随机数个位数随机,保留两位小数位随机,select ROUND(rand()*10...
如何用SQL语句实现某个字段数为随机数?
以某整数字段为种子(没有的话要生成一个),通过RAND函数生成一个0-1之间的随机数。如0.7136106261841817,然后转换成文本型,再取后7位即RIGHT(CONVERT(VARCHAR,RAND(序号)),7) 。结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查...
怎么用SQL语句实现某个字段数为随机数,如一个表里的学号字段,怎么让这 ...
1、以某整数字段为种子(没有的话要生成一个)2、通过RAND函数生成一个0-1之间的随机数。如0.71361062618418173、然后转换成文本型4、再取后7位即可RIGHT(CONVERT(VARCHAR,RAND(序号)),7) 。具体语句如下:如果表中有一个字段为整型的序号或标识列,那么就可以以序号为种子生成随机的学号字段。UPDATE TABLENAME SET ...
sql 怎么得到0——1000的随机数?得到前十条随机数据呢?求解!!!_百度...
cast(rand()*1000 as int) rand()*1000 得到的是float型 要转化整形 也可以用newid()select top 10* from table order by newid()迅腾科技
SQL修改一个时间字段秒数为随机数!
核心思路:用rand(checksum(newid()))生成0到1之间随机数,乘以60并减去原来的秒数,即可得到0到60之间的随机秒数。create table a ([时间] datetime);insert into aselect '2013-08-30 17:59:35' union allselect '2013-09-01 17:59:35' union allselect '2013-09-02 17:59:35' union ...
在SQL SERVER 2000中怎么用SQL语句随机提取100条数据?
一. 你可以试试这个: select * from xx order by rand() limit 100 二. 是利用系统时间来取随机数的代码,用C++写的。你参看一下吧。 你可以把随机数的范围限定在0 -- 100 ,之内,作为数组的下标就可以访问了。 #include <iostream.h> #include <stdlib.h> #include int ...
请问让sql随机生成500个1-100的数字怎么写?
SET @counter = 1 WHILE @counter < 500 BEGIN SELECT (RAND(@counter)*99+1) Random_Number SET NOCOUNT ON SET @counter = @counter + 1 SET NOCOUNT OFF END GO 这样就能返回500个1到100的随机数了 rand()是返回一个0-1的随机数(是float型的),乘以99就能得到0-99的随机数,再加1就...
SQL语句随机产生随机数
SELECT RAND((DATEPART(mm, GETDATE()) * 100000) + (DATEPART(ss, GETDATE()) * 1000) + DATEPART(ms, GETDATE())) 在SQL试一下能否满足
sql 2000 产生随机1-30 跟 1-29 1-28 的 随机数??
产生随机数SQL 语句 SQL select round(dbms_random.value(1,30)) from dual;--产生1-30之间的随机数并四舍五入;select round(dbms_random.value(1,29)) from dual;产生1-29之间的随机数并四舍五入;select round(dbms_random.value(1,28)) from dual;产生1-28之间的随机数并四舍五入;...