sql期末复习题
北京二级建造师报名时间-大国崛起读后感
SQL Server 2000期末复习题
Sql上机考试要求:
1、本试卷共 05 题,满分 100 分
第 1 题为 单选题 题,共 20
小题,满分 20 分
第 2 题为 判断题 题,共 15 小题,满分 15 分
第 3 题为 命令填空题 题,共 10 小题,满分 20 分
第 4
题为 程序填空题 题,共 3 小题,满分 15 分
第 5 题为 编写程序题 题,共
3 小题,满分 30 分
2、本试卷考试时间为 90 分钟,进入系统后,系统自动计时;
答题窗口右上角实时显示剩余时间,当剩余时间不足 5 分钟时,系统闪烁提示;
注意:当考试时间到时,系统将自动交卷,并退出系统。
3、所有试题按序排列,考试窗口上方有四个
导航按钮,可分别在各题间转换,窗口上
方的“试题信息”部分详细指出了当前试题的信息。
一.单选题(50题)
708,下列属于数据的是( )
A、23是正数
B、2.3是小数
C、2011
D、水深5米
C
709,下列属于信息的是( )
A、23是正数
B、1985
C、2011
D、123 A
710,数据库的英文缩写是 (
)
A、DB :
B、DBMS
C、DBS
D、BBS A
711,数据库管理系统的英文缩写是 ( )
A、DB
B、DBMS :
C、DBS
D、BBS B
712,数据库系统的英文缩写是 ( )
A、DB
B、DBMS
C、DBS
D、BBS C
713,人工管理阶段是数据管理技术发展的( )
1
A、第一阶段
B、第二阶段
C、第三阶段
D、第四阶段 A
714,文件系统阶段是数据管理技术发展的( )
A、第一阶段
B、第二阶段
C、第三阶段
D、第四阶段 B
715,数据库系统阶段是数据管理技术发展的( )
A、第一阶段
B、第二阶段
C、第三阶段
D、第四阶段 C
716,SQL是( )数据库管理系统
A、层次型
B、网状型
C、关系型 ,二维表
D、数据型 C
717,数据处理是指将数据转换成( )的过程
A、信息
数据经过解释并赋予一定的意义之后,便成为信息。
B、数据
数据的形式可以是数字、文字、图形或声音等,
C、计算机
D、数字 A
718,数据库管理系统所支持的数据模型有
A、数学模型
B、层次模型
C、物理模型
D、经济模型 B
719,关系模型是( )系统所支持的数据模型
A、数据库
B、数据表
C、数据库管理
D、表单 C
720,一个二维表操作是一种 ( )
A、层次操作
B、网络操作
C、投影操作
D、关系操作 D
721,下列系统数据库中最重要的是( )
A、master:是系统最重要的数据库,它记录了SQL Server系统的所有系统信息。
B、modol
C、msdb
D、tempdb A
2
722,下列属于模版数据库的是( )
A、master
B、modol:
C、msdb
D、tempdb B
723,下列属于代理服务数据库的是( )
A、master
B、modol
C、msdb
D、tempdb C
724,下列属于临时数据库的是( )
A、master
B、modol
C、msdb
D、tempdb D
725,下列属于数值型常量的是
A、”123”
B、’456”
C、[789]
D、5E-6 D
726,123E-5是(
)常量
A、数值型
B、日期型
C、字符型
D、逻辑型 A
727,getdate()是( )类型数据
A、数值型
B、日期型
C、字符型
D、逻辑型 B
728,'2008-8-8'是( )常量
A、数值型
B、日期型
C、字符型
D、逻辑型 C
729,exp(0)+25表达式的运算结果是
A、25
B、25
C、26
D、27 C
730,'123'+‘abc’
表达式的运算结果是
A、[123]
B、‘abc’
C、'123abc'
3
D、{123abc}
C
731,1=2表达式的运算结果是
A、F
B、False
C、ture
D、.T. B
732,1>2 or
2>1表达式的运算结果是
A、F
B、False
C、t
D、ture D
733,函数ABS(-11.4)的值是
A、11.4
B、-11.4
C、11
D、12 A
734,函数SQRT(9)的值是
A、9
B、4
C、3
D、6 C
735,函数LEN('ABC计算机')的值是
A、6
B、9
C、8
D、7 B
736,函数SUBSTRING('ABC12计算机',4,2)的值是
A、
B、计
C、'12'
D、计算机 C
737,函数LTRIM(' 计算机')的值是
A、 计算机
B、'计算机'
C、计算机
D、 计算机 B
738,函数YEAR('2009-8-12')的值是
A、2009
B、2008
C、8
D、12 A
739,函数MONTH('2009-8-12')的值是
A、2009
B、2008
4
C、8
D、12 C
740,函数DAY('2009-8-12')的值是
A、2009
B、2008
C、8
D、12 D
741,函数STR(2009)的值是
A、2009
B、’2009’
C、”2008”
D、2010 B
742,函数POWER(2,10)的值是
A、1000
B、100
C、20
D、1024 D
743,函数CEILING(123.45)的值是
A、123
B、124
C、100
D、125 B
744,函数FLOOR(123.45)的值是
A、123
B、124
C、100
D、125 A
745,函数PI()的值是
A、2
B、3
C、4
D、3.14159 D
746,cast('123' as int)+500的值是
A、123500
B、623
C、123
D、500 B
747,创建存储过程的命令是
A、create
B、proce
C、exec
D、exe A
748,执行存储过程的命令是
A、create
5
B、proce
C、exec
D、exe C
749,在表中创建主键约束的关键字是
A、primary key
B、unique
C、check
D、foreign key A
750,在表中创建唯一性约束的关键字是
A、primary key
B、unique
C、check
D、foreign key B
751,在表中创建检查约束的关键字是
A、primary key
B、unique
C、check
D、foreign key C
752,在表中创建外部键约束的关键字是
A、primary key
B、unique
C、check
D、foreign key D
753,创建表的命令是
A、create
B、alter
C、drop
D、tabel A
754,修改表的命令是
A、create
B、alter
C、drop
D、tabel
B
755,删除表的命令是
A、create
B、alter
C、drop
D、tabel C
756,防止数据库中数据的丢失的方法之一是对数据库进行
A、备份
B、还原
C、分离
D、附加 A
757,让数据库回到备份时状态的方法之一是对数据库进行
6
A、备份
B、还原
C、分离
D、附加
B
758,让数据库脱离原属服务器的方法之一是对数据库进行
A、备份
B、还原
C、分离
D、附加 C
759,让数据库附加到相应服务器上的方法是对数据库进行
A、备份
B、还原
C、分离
D、附加 D
二.判断题(60个)
760,180———是数据 Y
761,180———是信息 N
762,他的身高是180cm——是数据 N
763,他的身高是180cm———是信息 Y
764,数据库的英文缩写是DB
Y Data Base
765,数据库管理系统的英文缩写是DBMS Y
766,数据库系统的英文缩写是DBS Y
767,数据管理技术发展的第一阶段是人工管理阶段 Y
768,数据管理技术发展的第二阶段是文件系统阶段 Y
769,数据管理技术发展的第三阶段是数据库系统阶段 Y
770,现实世界是用概念模型来对其进行描述 N
771,信息世界是用概念模型来对其进行描述 Y
772,实体-联系方法(Entity Relationship Approach)简称E-
R方法 Y
773,E-R方法用E-R图来描述现实世界的概念模型 Y
774,E-R图提供了表示实体、属性和联系的方法 Y
775,数据模型表示数据与数据之间的联系方法 Y
776,SQL是关系型数据库管理系统 Y
777,SQL是网状型数据库管理系统 N
778,一个二维表就是一个关系
Y
779,网状型数据模型就是一个二维表 N
780,SQL
Server是一种基于客户服务器模式的关系数据库管理系统 Y
781,SQL
Server采用Transact-SQL语言在客户机和服务器之间传递信息
782,企业管理器可以完成数据库管理与维护的大部分工作 Y
783,查询分析器主要用于输入和执行Transact-SQL语句 Y
784,服务管理器用来启动、暂停、继续和停止数据库服务器的实时服务
785,123E-5是数值型常量 Y
786,{2009-7-26}是日期型常量 N
7
Y
Y
787,{^2009-7-26}是字符型常量
N
788,'98632' 是字符型常量 Y
789,数值表达式的运算结果是数值型数据 Y
790,字符表达式的运算结果是字符型数据 Y
791,日期表达式的运算结果是日期型数据 N
792,关系表达式的运算结果是关系型数据 N
793,逻辑表达式的运算结果是逻辑型数据 Y
794,函数rand()的数据类型是数值型的 Y
795,函数exp(0)的数据类型是数值型的 Y
796,函数len('ase')的数据类型是字符型的 N
797,函数len('ase')的数据类型是数值型的 Y
798,函数getdate()的数据类型是逻辑型的 N
799,函数getdate()的数据类型是日期型的 Y
800,表就是数据库,数据库中只有表 N
801,字段是字符型常量
N
802,数据表中每一行对应一条记录 Y
803,删除一个字段就是删除对应表中的一列数据 Y
804,删除一个字段就是删除对应表中的一行数据 N
805,删除一个记录就是删除对应表中的一行数据 Y
806,删除一个记录就是删除对应表中的一列数据 N
807,执行路线是一条直线的程序结构为顺序结构 Y
808,执行路线从一条分成多条的程序结构为分支结构 Y
809,执行路线形成闭环的程序结构为循环结构 Y
810,备份数据库的目的是防止数据库中数据的丢失 Y
811,备份数据库的目的是防止硬盘损坏 N
812,还原数据库的目的是让数据库回到备份时的状态 Y
813,还原数据库的目的是重建数据库 N
814,分离数据库的目的是让数据库脱离原属服务器 Y
815,分离数据库的目的是删除数据库 N
816,附加数据库的目的是让数据库附加到相应的服务器上 Y
817,附加数据库只能附加到原来的服务器上 N
818,数据库的索引和书籍中的目录非常相似 Y
819,为了提高数据检索的能力,在数据库中引入了索引的概念
三.命令填空题(55个)
820,创建数据库gz命令create【 1】
database
821,创建数据库gz命令【 1】database create
822,打开数据库gz命令【 1】 use
823,修改数据库gz命令alter【 1】 database
824,修改数据库gz命令【 1】database alter
825,删除数据库gz命令drop【 1】 database
826,删除数据库gz命令【 1】database drop
827,创建数据表cj命令 create 【 1】 table
828,创建数据表cj命令 【 1】table create
8
Y
829,增加字段:【 1】 table cj add
入学日期 datetime(8) alter
830,增加字段:alter table
cj 【 1】 入学日期 datetime(8) add
831,删除表:【 1】
table chji Drop
832,删除表:Drop 【 1】 chji
table
833,插入记录:【 1】 into 成绩表(学号,计算机)
values('2', 75) insert
834,插入记录:insert 【 1】
成绩表(学号,计算机) values('2', 75) into
835,插入记录:insert into 成绩表(学号,计算机) 【 1】('2', 75)
values
836,cj表中插入记录:insert into 【 1】(学号,计算机)
values('2', 75) cj
837,把cj表中的内容全部插入到ch中:【
1】 ch select * from insert
838,把cj表中的内容全部插入到ch中:insert 【 1】 select *
from ch
839,把cj表中的内容全部插入到ch中:insert
ch 【 1】 * from select
840,把cj表中的内容全部插入到ch中:insert ch select * 【 1】
from
841,删除理学院的所有记录:【 1】 from gzqd where
单位名称=’理学院’ delete
842,删除理学院的所有记录:delete 【
1】 gzqd where 单位名称=’理学院’ from
843,删除理学院的所有记录:delete from gzqd 【 1】
单位名称=’理学院’ where
844,删除理学院的所有记录:delete from
gzqd where 单位名称=’【 1】’ 理学院
845,计算实发工资:【 1】
gzqd set 实发=基本工资+津贴-个人税-水电费 update
846,计算实发工资:update gzqd 【 1】 实发=基本工资+津贴-个人税-水电费
set
847,查询gzqd表中所有记录:【 1】 * from gzqd
Select
848,查询gzqd表中所有记录:Select 【 1】 from gzqd
*
849,查询gzqd表中所有记录:Select * 【 1】 gzqd from
850,查询gzqd表中所有记录:Select * from 【 1】 gzqd
851,查询gzqd表中姓名和 基本工资的情况:Select 姓名, 【 1】 from
gzqd 基本工
资
852,查询gzqd表中前5条记录:Select【 1】5
* from gzqd top
853,查询基本工资>1000的记录:select *
from gzqd 【 1】 基本工资>1000 where
854,查询基本工资>1000的记录:select * from gzqd where
基本工资【 1】1000 >
855,查询理学院的教授情况:
select *
from gzqd where 单位名称='【 1】' and 职称='教授' 理学院
856,查询理学院的教授情况:
select * from gzqd where
单位名称='理学院' 【 1】 职称='教授' and
857,查询理学院的教授情况:
select * from gzqd where 单位名称='理学院' and 职称='【
1】' 教授
858,查询姓李的职工情况;select * from gzqd
where 姓名 【 1】 '李%' like
859,查询姓李的职工情况;select * from gzqd where 姓名 like
'【 1】%' 李
860,查询姓李的职工情况;select * from gzqd
where 姓名 like '李【 1】' %
861,查询实发工资在1000-1300元之间的职工情况:
select *
from gzqd where 实发 【 1】 1000.00 and 1300.00
between
862,查询实发工资在1000-1300元之间的职工情况:
select * from gzqd where 实发 between 1000.00 【
1】 1300.00 and
863,查询结果按实发工资降序排列:
select * from gzqd order by 实发 【 1】 desc
864,查询结果按实发工资降序排列:
select * from gzqd 【 1】
by 实发 desc order
9
865,统计gzqd表的记录个数:Select 【 1】(*) as 记录数
from gzqd count
866,求基本工资的平均值:Select 【
1】(基本工资) from gzqd avg
867,求基本工资的平均值:Select avg(【 1】) from gzqd
基本工资
868,求基本工资的总额:Select 【 1】(基本工资) from gzqd
sum
869,查询结果按单位名称分组:
Select 单位名称,姓名 from
gzqd 【 1】 by 单位名称,姓名 group
870,查询结果按单位名称分组:
Select 单位名称,姓名 from gzqd group by 【 1】,姓名
单位名称
871,保存查询结果到cj:select * 【 1】 cj from cc
into
872,保存查询结果到cj:select * into 【 1】 from cc
cj
873,创建视图st:
【 1】 view st
as
selcet * from gzqd create
874,创建视图st:
create 【 1】 st
as
selcet * from gzqd
view
875,创建视图st:
create view st
【 1】
selcet * from gzqd as
四.程序填空题(15个)
876,在数据库xs中建立数据表cj(包括字段:学号、姓名、数学、外语、计算机)
use 【1 】
create 【 2】 【 3】
(学号
char(12) not null, 姓名 char(8), 【 4】 decimal(6,2),
外语 decimal(6,2), 【5 】 decimal(6,2))
xs,table,cj,数学,计算机
877,两个变量值的交换
declare @a int ,@b int ,@c int
set @a=5
set @b=9
select @a as a,@b as b
set
@c=@【 1】
set @a=@【 2】
set @b=@【 3】
【
4】 @a as a,@【 5】 as b
a,b,c,select,b
878,已知三角形的三条边为a、b、c,求其面积。
【 1】 @a int,@b
int,@c int,@p decimal, @s decimal (10,5)
【 2】
@a=7
set @b=5
10
set @c=6
set @p=(@a+@b+@c)【 3】
set @s=【
4】(@p*(@p-@a)*(@p-@b)*(@p-@c))
print @【 5】
declare,set,2,sqrt,s
879,判断一个学生成绩cj属于哪个等级
declare @cj int,@dj varchar(20)
【 1】
@cj=round(rand()*100,0)+1
set @dj=
case
when @【 2】 then '不及格'
【 3】 @cj>=60
and @cj<90 then '及格'
when @cj>=90 【 4】
@cj<=100 then '优秀'
else
'数据错误'
end
select @【 5】 as '等级'
set,cj<60,when,and,dj
880,求数据库gz中的表文件gzqd中的基本工资的平均值、总计、最大值和最小值
【
1】 gz
【 2】 count(*),【 3】(基本工资),sum(基本工资),【
4】(基本工资),min(基本工资) 【 5】
gzqd
use,select,avg,max,from
881,判断某一年(y)是否为闰年?
【 1】 @d int
【 2】 @d=year('2012-5-8')
if (@d【 3】4=0 and @d%100!=0) 【 4】 (@d%400=0)
print str(@d)+'是闰年'
else
print
str(@【 5】)+'不是闰年'
declare,set,%,or,d
882,计算1+2+3+……100
declare @i int,@s int
set @【 1】
set @i=1
while @i<=【 2】
begin
set @s=@【 3】+@i
set
@i=@i+【4】
【 5】
print @s
s=0,100,s,1,end
883,计算1+3+5+……99
【 1】
@i int,@s int
11
set @s=0
set @i=【 2】
while @i<=99
【 3】
set @s=@s+@【4】
set @i=@i+【 5】
end
print @s
declare,1,begin,i,2
884,计算2+4+6+……100
【 1】 @i int,@s int
set @s=0
set @i=【 2】
while @i<=100
【 3】
set @s=@s+@【4】
set
@i=@i+【 5】
end
print
@sdeclare,2,begin,i,2
885,求所有的3位正整数除以99的商和余数,并输出。
declare @i
int, @a int, @b int
set @i=【 1】
while
@i<=【 2】
【 3】
set @a=@i【4】99
set @b=@i【 5】99
select @a , @b
set @i=@i+1
end
100,999,begin,,%
886,求1!+2!+3!+4!+5!。
declare @i int,@k
int,@t int,@s bigint
set @s=【 1】
set @k=1
while @k<=【 2】
begin
set @t=【 3】
set @i=1
while @i<=@【 4】
begin
set @t=@t*@i
set @i=@i+1
end
set @s=@s+@【 5】
12
set @k=@k+1
end
print @s
0,5,1,k,t
887,统计未来100年中闰年的年份个数
declare @i int,@h int
set @h=【 1】
set @i=2013
while @i<=【 2】
begin
if (@i%4=0 and @i%100!=0) or
(@i%400=0)
set @h=@h+【 3】
set
@i=@i+1
【4】
print @【 5】
0,2113,1,end,h
888,求1至100之间能被7整除的数之和
declare @i int,@s 【 1】
set @s=0
set
@i=【 2】
while @i<=100
begin
if
@i%【 3】=0
set @s=@s+@【 4】
set @i=@i+1
【 5】
print @s
int,1,7,i,end
889,求和:s=1+12+14++18……+11024
declare @i
int,@s decimal(8,5)
set @s=【 1】
set @i=1
while @i<=【2】
begin
set @s=@s+1.0【
3】(2,@i)
set @i=@i+【4】
【 5】
print @s
1,10,power,1,end
890,求s=1+2+3+……+n>9999的最小n
declare @n
int,@s int
set @s=【1 】
set @n=1
b_1:
13
set @s=@s+@【2 】
set
@n=@n+1
if @【3 】>=9999
begin
select @【4】
return
end
【5】
b_1
0,n,s,n-1,goto
891,创建存储过程njc,求t=n!,并使用输出参数返回结果
Create 【1
】 njc
@i int,@n int, @t bigint 【2】
【3】
set @t=【4 】
set @i=1
while
@i<=@n
begin
set @t=@t*@【5 】
set @i=@i+1
end
procedure,output,as,1,i
892,求解方程ax2+bx+c=0
(a≠0) (建立过程:jfc)
【 1】 procedure jfc
@a
float, @b float , @c float,
@x1 float output,
@x2 float output , @xx varchar(30) output
【 2】
if @a=0
【3】
if @b*@b-4*@a*@c>=0
begin
set
@x1=(-@b+sqrt(@b*@b-4*@a*@c))(2*@a)
set
@x2=(-@b-sqrt(@b*@b-4*@a*@c))(2*@a)
select
@x1,@【 4】
end
【5】
set @xx= '
此方程无实根'
create,as,return,x2,else
五.编程题(37个)
893,创建存储过程jszf:计算cj表(字段:学号、姓名、数
学、外语、计算机、总分、平
均分)中的总分
CREATE PROCEDURE
jszf
AS
UPDATE cj SET 总分 = 数学+外语+计算机
14
894,创建存储过程jspj:计算cj表(字段:学号、
姓名、数学、外语、计算机、总分、平
均分)中的平均分
CREATE
PROCEDURE jspj
AS
UPDATE cj SET 平均分 =
(数学+外语+计算机)3
895,创建存储过程jssf:计算gz表(字段:单位名称
、姓名、基本工资、津贴、个人税、
水电费、实发工资、备注)中的实发工资
Create
procedure jssf
as
update gz set
实发=基本工资+津贴-个人税-水电费
896,创建存储过程jsfj:使gz表(字段:单位名称
、姓名、基本工资、津贴、个人税、水
电费、实发工资、备注)中的基本工资增加50元
Create procedure jsfj
as
update gz
set 基本工资=基本工资+50
897,创建存储过程jsfj:使gz表(字段:
单位名称、姓名、基本工资、津贴、个人税、水
电费、实发工资、备注)中的津贴增加10%
Create procedure jsfj
as
update gz
set 津贴=津贴*1.1
898,添加gz表(字段:单位名称、姓名、基本工资、
津贴、个人税、水电费、实发工资、
备注)中的备注:单位名称为理学院、工学院、商学院分别对应的备
注为理、工、商。
update gz set 备注=
case 单位名称
when '理学院' then '理'
when '工学院' then
'工'
when '商学院' then '商'
end
899,添加gz
表(字段:单位名称、姓名、职称、基本工资、津贴、个人税、水电费、实
发工资、备注)中的备注:职
称为教授、讲师、助教分别对应的备注为高职、中职、初职。
900,求边长为10的正方形内切圆面积
declare @s
float,@d int
set @d=10
set
@s=pi()*square((@d2))
print @s
901,已给2个正整数m=78和n=329,求n除以m的商和余数
declare @m int,@n int
set @m=78
set
@n=329
print @n@m
15
print
@n%@m
902, 若x='abc5hh73k9',求x中的数字之和
Declare @x varchar(50), @s int, @i int, @m int
Set @x='abc5hh73k9'
Select @i=1, @s=0
While @i<=len(@x)
Begin
Set
@m=ascii(substring(@x,@i,1))
If 48<=@m
and @m<=57
Set
@s=@s+substring(@x,@i,1)
Set
@i=@i+1
End
Select @s as 数字之和
903,将任意一个3位正整数x=753进行分解,然后求其各个数位上的数字之和s
declare @n int,@a int,@b int,@c int
set
@n=753
set @a=@n100
set
@b=(@n-@a*100)10
set @c=@n-@a*100-@b*10
print @a+@b+@c
904,创建存储过程fd:计算y值:x>0,
y为x的平方根; x<=0, y为x的绝对值
CREATE PROCEDURE
fd @x real
As
Declare @y real
if @x>0
set @y=sqrt(@x)
else
set @y=abs(@x)
print @y
905,创建存储过程fd:计算y值:x>0, y=x*x; x<=0, y=exp(x)
CREATE PROCEDURE fd @x real
As
Declare @y real
if @x>0
set
@y=@x*@x
else
set @y=exp(@x)
print @y
906,创建存储过程qh,用于计算两个参数a与b之和并将其输出
CREATE PROCEDURE qh @a real,@b real
As
Declare @y real
set
@y=@a+@b
16
print @y
907,求s=0.1+0.2+0.3+…+1
Declare @i int,
@s real
Set @i=1
Set @s=0
While @i<=10
Begin
Set @s=@s+@i10.0
Set @i=@i+1
End
Print @s
908,求s=1+12+13+14+…+150
Declare @i
int, @s real
Set @i=1
Set @s=0
While
@i<=50
Begin
Set @s=@s+1.0@i
Set @i=@i+1
End
Print @s
909,求s=1+2+4+8+16„+1024
Declare @i
int, @s int
Set @i=0
Set @s=0
While
@i<=10
Begin
Set
@s=@s+power(2,@i)
Set @i=@i+1
End
Print @s
910,输出一个数列:1,2,3,4,5,6,7,8,9
Declare @i int
Set @i=1
While @i<=9
Begin
print @i
Set
@i=@i+1
End
911,求使s=1*2*3*……*n>10000
的最小n
declare @n int,@s int
set @s=1
set @n=1
while @s<=10000
17
(参考程序填空题890)
begin
set @s=@s*@n
set @n=@n+1
end
print @n
912,有一张0.5mm厚足够大的纸,问对折多少次可以达到珠峰高度(8848.13m)
declare @n float,@s int
set @n=0.5
set
@s=0
while @n<8848.13*1000
begin
set @n=@n*2
set @s=@s+1
end
print @s
913,找出并输出100-999之间所有能被22整除的数
Declare @i int
Set @i=100
While
@i<=999
Begin
if @i%22=0
print @i
Set @i=@i+1
End
91
4,找出并输出2013-2113之间所有闰年的年份(判断条件为:能被4整除但不能被100
整除
,或能被400整除)
Declare @year int,@num int
Set
@num=0
Set @year = 2013
While @year<=2113
Begin
If (@year%4=0 and
@year%100!=0) or (@year%400=0)
Begin
Print @year
Set @num=@num+1
End
Set @year=@year+1
End
Print @num
915、求半径为r的圆面积s
DECLARE @r
float,@s float
SET @r=5
SET @s=pi()*@r*@r
print @s
18
916、已知三角形的三条边(a、b、c)的边长,求面积s
DECLARE @a float,@b float,@c float,@p float,@s
float
set @a=3
set @b=4
set @c=5
set @p=(@a+@b+@c)2
set
@s=sqrt(@p*(@p-@a)*(@p-@b)*(@p-@c))
print
'圆面积s='+str(@s)
917、假设某班有50个学生,其学号的尾数为01-50,随机抽取一个学生课堂发言。
DECLARE @a int
set @a=ceiling(rand()*50)
print '随机抽取的学号为:'+str(@a)
918、求解方程2x
2
+7x-78=0
declare @x1
real,@x2 real
Set @a=2
Set @b=7
Set
@c=-78
set @d=@b*@b-4*@a*@c
if @d>=0
begin
Select @x1=
(-@b+sqrt(@d))(2*@a)
Select @x2=
(-@b-sqrt(@d))(2*@a)
Select @x1 as x1,
@x2 as x2
end
else
print
'此方程无实根!'
919、判断某一年(y)是否为闰年?
DECLARE @y
int
set @y=2000
if @y%4=0 and @y%100<>0 or
@y%400=0
print str(@y)+'年是闰年'
else
print str(@y)+'年不是闰年'
920、判断成绩的等级
DECLARE
@a int
SET @a=69
print
CASE
WHEN @a>=90 THEN '优秀'
WHEN @a>=80 and @a<90 THEN '良好'
WHEN
@a>=70 and @a<80 THEN '中等'
WHEN
@a>=60 and @a<70 THEN '及格'
else
'不及格'
END
19
921、求和:s=1+2+3+„„+100
DECLARE @i
smallint,@sum smallint
SET @i=1
SET @sum=0
WHILE @i<=100
BEGIN
SET
@sum=@sum+@i
SET @i=@i+1
END
PRINT ' s=1+2+3+„„+100='+str(@sum)
922、求和:s=1+3+5„„+99(自己写)
923、求和:s=2+4+6„„+100(自己写)
924、求和:1-100之间能被7整除的所有数之和s
DECLARE @i
smallint,@sum smallint
SET @i=0
SET @sum=0
WHILE @i<=100
BEGIN
SET
@i=@i+1
if @i%7=0
SET
@sum=@sum+@i
END
PRINT
'1-100之间能被7整除的所有数之和s='+ltrim(str(@sum))
925、求和:s=1+12+14++18„„+11024
DECLARE @i
smallint,@s float
SET @i=1
SET @s=0
WHILE @i<=1024
BEGIN
SET
@s=@s+1.0@i
SET @i=@i+1
END
PRINT 's=1+12+14++18„„+11024='+str(@s,10,5)
926、统计未来100年中闰年的年份个数
DECLARE @y int,@i int
set @i=0
set @y=2013
print
'未来100年中以下年份为闰年:'
while @y<=2113
begin
if @y%4=0 and @y%100<>0 or @y%400=0
begin
print @y
set @i=@i+1
20
end
set
@y=@y+1
end
print '共有'+str(@i)+'年'
927、求t=5!
DECLARE @i smallint,@s smallint
SET @i=1
SET @s=1
WHILE @i<=5
BEGIN
SET @s=@s*@i
SET @i=@i+1
END
PRINT '5!='+str(@s)
928、求s=1!+2!+3!+...+10! 的值
DECLARE @i
smallint,@s int,@sum int
SET @i=1
SET
@s=1
set @sum=0
WHILE @i<=10
BEGIN
SET @s=@s*@i
SET @i=@i+1
set @sum=@sum+@s
END
PRINT
'1!+2!+...+10!='+str(@sum)
929,求s=a+aa+aaa+„+a
aa„aaa(n个a),其中a和n的值由用户使用Set或Select语句自
己输入。例如,当a
=3,n=4时,S=3+33+333+3333。
Declare @a int, @n
int, @i int, @s bigint
Select @a=3, @n=4
Set @i=1
Set @s=0
While @i<=@n
Begin
Set @s=@s + replicate(@a, @i)
Set @i=@i+1
End
Print
@s
21