Sql Server插入随机数

--处理性别随机
select (case when round(rand()*10,0)>5 then ‘男‘ else ‘女‘ end),
--处理时间段范围内随机
select dateadd(dd,round(datediff(dd,‘1992-01-01‘,‘1995-01-01‘)*rand(),0),‘1992-01-01‘)

--添加外键
ALTER TABLE [dbo].[StudnetInfo] WITH CHECK ADD CONSTRAINT [FK_StudnetInfo_StudentClass] FOREIGN KEY([classId])
REFERENCES [dbo].[StudentClass] ([ClassID])
--删除外键
alter table StudnetInfo drop constraint [FK_StudnetInfo_StudentClass]
truncate table StudnetInfo
--查询所有关联约束
exec sp_helpconstraint StudnetInf

--游标处理根据其他表限制的复杂插入
declare @i int, @j int [email protected]是 @classsum 遍历的记录数,控制while循环;@j记录全部循环的序号
set @j=0
declare cur_temp cursor for select ClassID,ClassSum from StudentClass
open cur_temp
declare @classid varchar(5)
declare @classsum int
fetch next from cur_temp into @classid,@classsum
WHILE @@FETCH_STATUS =0
BEGIN
--print @classid --班级+年份+3位的排序号 0012015001 9位
set @i=0
print @classsum
while(@i<@classsum)
begin
insert into StudnetInfo (StuId,StuName,classId,sex,rx_time,bron)
--处理3位的排序号
select @classid+‘2015‘+right(‘00‘+convert(varchar(3),@j),3) as 学号,
‘邹敏‘+convert(varchar(5),@j) as 姓名,
@classid as 班级编号,
(case when round(rand()*10,0)>5 then ‘男‘ else ‘女‘ end) as 性别,
convert(datetime,left(year(GETDATE()),4)+‘-09-01‘) as 入学时间,
dateadd(dd,round(datediff(dd,‘1992-01-01‘,‘1995-01-01‘)*rand(),0),‘1992-01-01‘) as 出生时间
--from StudentClass
set @[email protected]+1
set @[email protected]+1
end
fetch next from cur_temp into @classid,@classsum
end
close cur_temp
deallocate cur_temp
print @i
print @j

--left(rand())处理取整

--round(rand(),0)四舍五入取值

时间: 2024-10-12 10:54:56

Sql Server插入随机数的相关文章

SQL Server插入中文数据后出现乱码

原文:SQL Server插入中文数据后出现乱码 今天在做项目的过程中遇到如标题的问题,情况如下图: 数据库使用的是SQL Server2012版本,创建表的脚本如下: CREATE TABLE [dbo].[Type](  [TypeId] INT NOT NULL PRIMARY KEY,     [TypeName] NVARCHAR(50)NOT NULL,     [Description] NVARCHAR(255) NULL,     [CategoryId] INT NOT NU

SQL Server插入数据和删除数据基础语句使用

首先在我的Student表中插入几条数据,由于我的表已经创建完成了,所以就没有创建表的 sql 语句了,不过可以看我的上一篇文章: http://www.cnblogs.com/Brambling/p/6649350.html 插入数据sql语句: 1 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) 2 select '001','项羽','男','190' union 3 select '002','刘邦','男','170' union

关于SQL server 插入数据时语言和特殊字符的处理

问题描述: 当插入或者是修改数据时,当插入(修改)的字段中存在(韩文,日文)或者其他字符时,出现插入的字符变成了乱码或者是成堆的问号. 解决方法: 在 Microsoft SQL Server 中, 以下数据类型支持 Unicode 数据: nchar, nvarchar, ntext 使用SQL语句操作的时候应该注意以下问题: 原查询语句 Select * From TABLENAME Where field1 like '%xxx%' 使用 Unicode 数据类型的, 应该为: Selec

SQL server插入数据后,获取自增长字段的值

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 insert into Tb_People(uname,era,amount) values( '兆周','老年','10000')   select @@identity   --当运行完插入语句后,执行select   @@identity就可得到自动生成的id   --如果是sql server 最好用select SCOPE_IDENTITY() as

SQL Server 插入数据后获得自增主键值

通过SQLServer系统自带函数获取 String sql = "insert into goods values('" + TextBox1.Text + "'," + TextBox2.Text + ",0," + TextBox3.Text + ",'','" + DropDownList1.SelectedItem.Text + "','" + Session["username&quo

Java 向SQL Server插入文件数据

package sqlserver; import java.util.Date; import java.util.UUID; import java.text.SimpleDateFormat; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOut

SQL Server插入中文乱码

如果数据库的Collocation是英文的,字段是varchar类型,向表中插入中文数据,会出现乱码. 解决方法: 方法1. 修改varchar 为 nvarchar类型, 并在插入数据前加N,例如: insert into table_name(a) values (N'中文') 方法2. 如果不修改字段类型,还是varchar, 则需要修改数据库的Collocation为 中文,参考 ------------------------------------------------------

sql server 获取随机数函数RAND()和RAND(x)

--RAND(x)返回一个随机浮点值v,范围在0~1之间(即0<=v<=1.0) --若指定一个整数参数x,则它被用作种子值,使用相同的种子数将产生重复序列.如果同一种子值多次调用RAND函数,它将返回同一生成值 示例:select RAND(), RAND(), RAND(); 结果:0.664547768839536   0.0166045240927059   0.0892182701370623 --不带参数的RAND()每次产生的随即数值是不同的 select RAND(10), R

SQL Server插入数据的几种方法(基础)

1 insert into table(field1,field2,...) values (value1,value2,...) --插入单条数据 2 3 insert into table(field1,field2,...) select value1,value2,... union select value1,value2,... --插入多条数据,不允许使用default 4 5 insert into table2(field1,field2,...) select field1,