① 用sql server生成随机数
--创建视图
create view myview as select re=rand()
--自定义函数:取得指定范围的随机数
create function mydata(
@a int,
@b int)
returns decimal(38,0)
as
begin
declare @r decimal(38,0)
select @r=cast(re*(@b-@a)+@a as decimal(38,0)) from myview
return(@r)
end
go
--调用(可以随意指定你要的数据范围)
select user_no,dbo.mydata(1000,9999) number from table1
--可以在你原来的查询基础上增加一列number,如不增加列,
--那就把上面的结果放入一个临时表 #a,然后update
--如:
update table1 set number1=a.number from #a a,table1 b where a.user_no=b.user_no
② SQL语句插入随机数记录
表有多少字段,你只是插入一个随机数到一个字段吗?
declare @i int
set @i=0
while @i<10 --修改数值你要添加多少行数据
begin
insert into biao
select RAND()*100
set @i=@i+1
end
③ 如何在SQL里生成随机数
从 RAND 生成随机数的常用方法是,用相对可变的某个值作为种子值,例如将 GETDATE 的几个部分累加:
SELECT RAND( (DATEPART(mm, GETDATE()) * 100000 )
+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )
④ SQL update...set...数值按随机数增加的语句怎么写
看样子,数据库像sqlserver的,如果是单条update的话,用这个:
UPDATES_calculatePrepaidMoneySET[count]=[count]+ceiling(rand()*9)
其中:
selectceiling(rand()*9)
就是1-9的随机数
⑤ 我需要在这个SQL上面加上随机数,求解!
在oracle 用* 查询子查询需要加上表别名:
selectDBMS_RANDOM.RANDOMasrandom,t.*from(select*fromnydict.DictDepartmentwheredepartid='96'unionall
select*fromnydict.DictDepartmentwheredepartid<>'96'andrownum<36)torderbyrandomdesc
⑥ sql server 怎么生成随机数
--创建视图
create
view
myview
as
select
re=rand()
--自定义函数:取得指定范围的随机数
create
function
mydata(
@a
int,
@b
int)
returns
decimal(38,0)
as
begin
declare
@r
decimal(38,0)
select
@r=cast(re*(@b-@a)+@a
as
decimal(38,0))
from
myview
return(@r)
end
go
--调用(可以随意指定你要的数据范围)
select
user_no,dbo.mydata(1000,9999)
number
from
table1
--可以在你原来的查询基础上增加一列number,如不增加列,
--那就把上面的结果放入一个临时表
#a,然后update
--如:
update
table1
set
number1=a.number
from
#a
a,table1
b
where
a.user_no=b.user_no
⑦ 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是一个你指定的整数,表是取得记录的条数 。
⑧ sql 命令如何为某一字段同时增加随机数值
这个可以实现的
使用这个可以获得500以内的随机整数
select
cast(500*rand()
as
int)
呵呵
修改值自己做咯……
⑨ 怎么用SQL语句实现某个字段数为随机数,如一个表里的学号字段,怎么让这个学号自动生成7位数的随机数
1、以某整数字段为种子(没有的话要生成一个)
2、通过RAND函数生成一个0-1之间的随机数。如0.7136106261841817
3、然后转换成文本型
4、再取后7位即可RIGHT(CONVERT(VARCHAR,RAND(序号)),7) 。
具体语句如下:
如果表中有一个字段为整型的序号或标识列,那么就可以以序号为种子生成随机的学号字段。
UPDATE TABLENAME SET 学号=RIGHT(CONVERT(VARCHAR,RAND(序号)),7) WHERE 序号 IS NOT NULL
如果没有整型的序号或标识列,就要根据表中能够唯一标识确定某行的关键字段来生成学号,如ID
UPDATE TABLENAME SET 学号=RIGHT(CONVERT(VARCHAR,rand((select count(1) from tablename a where a.id>=tablename.id))),7)
⑩ 如何用SQL为每一行均产生一个随机数
select
dbms_random.random
from
al;
返回的是binary_integer
类型值,产生任意大小的随机数(正或者负)binary_integer
,范围为2的31次方到-2的31次方。
具体还有很多关于随机数字或者字母的使用,都是关于dbms_random系统包的用法,
例如dbms_random.value
;
dbms_random.normal
;
dbms_random.string
;
可以上网查询下。