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 怎么生成随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)