SQL数据库字段的默认随机值

SQL数据库字段的默认随机值,第1张

create

table

t(

id

uniqueidentifier

not

null

default(

newid()))

--guid不会重复,36位字符+字母+数字

--全数字

create

table

t(

id

char(10)

not

null

default(

right('0000000000'+rtrim(abs(checksum(newid())))+rtrim(abs(checksum(newid()))),16)))

1、以某整数字段为种子(没有的话要生成一个)

2、通过RAND函数生成一个0-1之间的随机数。如07136106261841817

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 aid>=tablenameid))),7)

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 函数返回小于或等于所给数字表达式的最大整数。

例如,对于数字表达式 129273,CEILING 将返回 13,FLOOR 将返回 12。

以某整数字段为种子(没有的话要生成一个),通过RAND函数生成一个0-1之间的随机数。如07136106261841817,然后转换成文本型,再取后7位即RIGHT(CONVERT(VARCHAR,RAND(序号)),7) 。

结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,sql 语句就是对数据库进行 *** 作的一种语言。

SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。

DBMS(DataBaseManagementSystem,数据库管理系统)和数据库。平时谈到“数据库”可能有两种含义:MSSQLServer、Oracle等某种DBMS;存放一堆数据表的一个分类(Catalog)。

SELECT DBMS_RANDOMRANDOM FROM DUAL;

产生一个任意大小的随机数

SELECT ABS(MOD(DBMS_RANDOMRANDOM,100)) FROM DUAL;

产生一个100以内的随机数

SELECT TRUNC(100+900dbms_randomvalue) FROM dual;

产生一个100~1000之间的随机数

SELECT dbms_randomvalue FROM dual;

产生一个0~1之间的随机数

SELECT dbms_randomvalue(10,20) FROM dual;

产生一个10~20之间的随机数

SELECT dbms_randomnormal FROM dual;

NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。

可以,各种数据库一般的有随机函数,你把?部分替换成随机函数就可以了,各种数据库不一样

例如oracle可以写成update

tabel

set

moods=cast(dbms_randomvalue200+1

as

integer)

where

ID

between

1

and

1000

以上就是关于SQL数据库字段的默认随机值全部的内容,包括:SQL数据库字段的默认随机值、怎么用SQL语句实现某个字段数为随机数,如一个表里的学号字段,怎么让这个学号自动生成7位数的随机数、sql server 怎么生成随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9434874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存