首先声明:这个是我尽力自己做的,不能保证百分之百正确,毕竟老师没发答案给我对
一、选择题
- SQL Server 2008 提供的单行注释语句是使用( A )开始的一行内容。
A. /* B. – C. { D. / - 在 SQL Server 2017 中局部变量名以字符( D )开头 。
A. * B. #C C. @@ D. @ -
以下关于运算符的优先级描述正确的是( C )。
A. 逻辑运算符的优先级最高
C. + 运算符比逻辑运算符高
B. * 运算符的优先级比括号内部的高
D. 逻辑运算符比* 运算符高
-
语句"SELECT DATENAME ( MONTH,getdate( )) AS 'Month Name"”的输出结果为(C )。
A. Month Name B. 当前日期 C. 当前月份 D. 当前时间
5. 下列( A )不是 SQL 的合法常量。
A. N’a student’ B. 0xABC C. 1998-04- 15 D. 2.0
6. 下列说法不正确的是( C)。
A、全局变量是由 SQL Server 系统提供并赋值的变量
B、全局变量的引用超出作用域会出错
C、可在程序中用全局变量测试系统的设定值
D、引用全局变量时必须以@@开头。
7. 在 SQL Server 中的 Case……End 语句属于(C)。
A、顺序结构 B、循环结构 C、分支结构 D、语句块结构
8. 下列说法错误的是( B )。
A. 语句体包含一个以上语句需要采用 BEGIN … . END
B. 多重分支只能用 CASE 语句
C. WHILE 中循环体可以一次不执行
D. 注释内容不会产生任何动作
9. 关于循环说法错误的是( B )。
A. GOTO 语句可以跳出多重循环
B. CONTINUE 语句跳过循环体没有执行的其他语句
C. BREAK 语句跳出当前最内层循环
D. RETURN 跳到最外面循环
- 下面程序段的执行结果为( Declare @m int,@n int Select @m=0, @n=0 While @m<30
Begin
Set @n=@n+3
Set @m=@m+@n End
Select @m, @n
A 、30 12 B 、30 11
(A)
C 、33 9 D 、30 10
- 下面程序段的执行结果为( C )
Declare @x int
Set @x=9
Print
Case
When @X>10 Then ‘Ok1’
When @X>20 Then ‘Ok2’
Else ‘Ok3’
End
A 、 Ok1 B 、Ok2 C 、Ok3
D 、Ok1 Ok2 Ok3
二、判断题
- 错 在循环结构中,循环头 WHILE 的条件判定后,一定会执行循环体。
- 对 分支语句和循环语句各自可以嵌套, 也可以相互嵌套。
- 对 PRINT 语句一次可以输出若干个常量或表达式的值。
- 对 局部变量可以保存单个特定类型数据值的对象。
- 对 全局变量必须先用declare 语句定义后才可以使用。
- 对 datetime 常量和decimal 常量都必须用单引号括起来。
- 错 一个 SET 语句只能给一个局部变量赋值,而一个 select 语句可为多个局部变量赋值。
- 错 变量主要是保存程序输出的数据,程序结束后这些数据永久地存储在外存中。
- 对 局部变量是用户自定义的,全局变量的系统提供的。
- 错 作为全局变量,任何程序均可随时调用
三、 操作题
-
定义用户变量today,并使用一条 SET语句和一条 SELECT 语句把当前的日期赋值给它。
DECLARE @today
SET @today=GETDATE();
SELECT @today;
-
利用 Transact-SQL 语句声明一个长度为 16 的 nchar 型变量 bookname,并赋初值为“SQL
Server 数据库编程”。
DECLARE @bookname nchar(16)
SET @bookname=’SQL’
3. 使用循环计算一个数的阶乘。
DECLARE @s, @i,@m
SET @s=100
SET @i=1
SET @m=1
WHILE(@i<=100)
BEGIN
SET @m=@m*@i
END
SET @i=@i+1
END
PRINT @m
4. 编程计算两个任意日期的时间差。
DECLARE @day1,@day2,@daysum
SET @day1= GETDATE()
SET @day2= GETDATE()
SELECT datediff(DAY,day1 ,day2) as daysum
PRINT @daysum
5. 编程求 50~100 之间所有能被 3 整除的奇数之和。
DECLARE @a,@b
SET @a=50
SET @b=0
WHILE(@a<=100)
IF @a%2!=0 AND @a%3==0
BEGIN
@b=@b+@a
END
ENG
PRINT @b
6. 判定一个整数 N 是否是素数(用小于 N 的整数依次除 N)
CREACT FUNCTION S(@a int)
RETURNS TINYINT
as
BEGIN
IF @a <=1
RETURN 0
DECLRAE @max,@b
SET @max = @a -1
SET @b = 2
WHILE @b < @max
BEGIN
DECLARE @max2 ,@c
SET @max2 = @c
SET @c = @b
WHILE @c< @max2
BEGIN
IF @c * @b = @a
RETURN 0
SET @c = @c + 1
END
SET @b = @b+ 1
END
RETURN 1
END
PRINT S
如果这篇文章对你帮助很大,麻烦帮忙,点下友情链接: 鱼儿项目网(直接点这里),进去之后切换几个页面,停留几十秒。感激不尽。本站采集全网自媒体,网赚类,电商营销课程。里面有一些免费项目大家也可以看看