怎么用SQL语句实现某个字段数为随机数,如一个表里的学号字段,怎么让这个学号自动生成7位数的随机数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用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) 参考技术A select * from student where order by newid()
SQL Server 怎么用存触发器实现从一个表里查询数据,然后插入到另一个表里
我被插入的表里有3个字段,一个主键,其中字段都不能为空,要从另一个表里插入一个字段到被插入的表中,另外两个是默认值
参考技术A 表结构create table MyUser
(
UserName nvarchar(50) primary key,
PassWord nvarchar(50),
state int
)
//触发器
create trigger [MyUser_trigger]
on [dbo].[MyUser]
for insert,delete
as
begin
if exists ( select * from sysobjects where name = 'temp' and type = 'U')
drop table temp
select identity(int,1,1) as rowid,UserName into temp from MyUser
end
//测试数据
insert MyUser values('123','123',1)
insert MyUser values('admin','123456',2)
insert MyUser values('1234','1234',1)
insert MyUser values('administrator','123',2)追问
假如被插入的是部分字段呢?就是就是从一个表中选一个字段插入到另一个表中,但被插入的其它字段还不能为空
以上是关于怎么用SQL语句实现某个字段数为随机数,如一个表里的学号字段,怎么让这个学号自动生成7位数的随机数的主要内容,如果未能解决你的问题,请参考以下文章
怎样用sql语句取表里第n条记录的数据啊(用Delphi实现)