INSERT INTO Students_8208210915 (Sno, Sname, Gender, Birthday) SELECT ROW_NUMBER() OVER (ORDER BY a.object_id) AS Sno, CONCAT('Student', ROW_NUMBER() OVER (ORDER BY a.object_id)) AS Sname, CASE WHEN ABS(CHECKSUM(NEWID())) % 10 < 3 THEN '女' ELSE '男' END AS Gender, DATEADD(DAY, ABS(CHECKSUM(NEWID())) % 365 * -1, GETDATE()) AS Birthday FROM sys.all_objects a CROSS JOIN sys.all_objects b WHERE a.object_id % 100 = 0 AND b.object_id % 100 = 0 ORDER BY Sno;
时间: 2024-04-06 12:33:51 浏览: 59
学生数据输入
这是一条 SQL 语句,用于向学生表 Students_8208210915 中插入数据。通过 SELECT 子句生成了一些随机的学生信息,包括学生编号 Sno、姓名 Sname、性别 Gender 和生日 Birthday,其中学生编号 Sno 是通过 ROW_NUMBER() OVER (ORDER BY a.object_id) 生成的。这条语句的意思是:从系统表 sys.all_objects 中获取两个 object_id 能够整除 100 的记录,然后按照 Sno 排序,插入到学生表中。其中,CASE WHEN ABS(CHECKSUM(NEWID())) % 10 < 3 THEN '女' ELSE '男' END AS Gender 这一段代码是用来随机生成学生的性别,ABS(CHECKSUM(NEWID())) % 10 < 3 会生成一个 0-9 之间的随机数,如果小于 3,则性别为女,否则为男。DATEADD(DAY, ABS(CHECKSUM(NEWID())) % 365 * -1, GETDATE()) 会生成一个随机的生日,范围是从现在往前一年内的随机时间。
阅读全文