当前位置:首页 » 编程语言 » sql生成随机数

sql生成随机数

发布时间: 2022-11-13 19:15:58

⑴ 怎么用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里生成四位随机数

在SQL里先随机生成1个数字,1-9,A,在随机生成3个数字,0-9,BCD。然后随机生成的四位数为:A*1000+B*100+C*10+D。

⑶ 使用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
table
order
by
rnd("
&
r
&
"-id)"
rnd("
&
r
&
"-id)
其中的id是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
select
top
10
*
from
table
order
by
rnd("
&
r
&
"-Len(UserName))
MySql:
Select
*
From
TABLE
order
By
Rand()
Limit
10
orACLE:
select
*from
(select
*from
t
order
by
dbms_random.value)
where
rownum<10

⑷ 关于SQL如何取随机数问题

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;

⑸ 如何在SQL里生成随机数

从 RAND 生成随机数的常用方法是,用相对可变的某个值作为种子值,例如将 GETDATE 的几个部分累加:

SELECT RAND( (DATEPART(mm, GETDATE()) * 100000 )
+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )

⑹ 如何用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 ;
可以上网查询下。

⑺ SQL语句随机产生随机数

产生随机数:right(rand(),4)
rand()返回一大串带小数点的数字,用right()截取后面的四位是不是变成了整数

⑻ sql server 怎么生成随机数

rand() 定义: 返回从0到1之间的随机浮点值。
举例说明:
select rand() as 随机数   结果如图:

select cast( floor(rand()*N) as int )  --方法1
结果:20
select cast( ceiling(rand()*N) as int ) --方法2
结果:43
大致一看,这两种方法没什么区别,区别就是他们的生成随机数的范围:
方法1的数字范围:0至N-1之间,如cast( floor(rand()*100) as int)就会生成0至99之间任一整数
方法2的数字范围:1至N之间,如cast(ceiling(rand() * 100) as int)就会生成1至100之间任一整数
比较 CEILING 和 FLOOR
CEILING 函数返回大于或等于所给数字表达式的最小整数。FLOOR 函数返回小于或等于所给数字表达式的最大整数。
例如,对于数字表达式 12.9273,CEILING 将返回 13,FLOOR 将返回 12。

⑼ 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

热点内容
我的世界如何把材质包放进服务器 发布:2025-01-12 16:11:14 浏览:56
使用hmailserver搭建邮件服务器 发布:2025-01-12 16:05:43 浏览:809
ps3游戏下载解压 发布:2025-01-12 15:55:46 浏览:596
视频点播服务器搭建局域网 发布:2025-01-12 15:46:44 浏览:88
unit长安豪华版有哪些配置 发布:2025-01-12 15:45:05 浏览:85
数据库表的分区 发布:2025-01-12 15:39:29 浏览:369
u点家庭服务器网关设置有什么用 发布:2025-01-12 15:33:15 浏览:153
王者归来java 发布:2025-01-12 15:27:13 浏览:68
安卓手机为什么卡又发热 发布:2025-01-12 15:23:18 浏览:571
如何验证root密码是否正确 发布:2025-01-12 15:23:15 浏览:592