编程基础

【实验十三】

(1) 定义一个整型局部变量iAge和可变长字符型局部变量vAddress,并分别赋值20和“中国山东”,最后输出变量的值,并要求通过注释对批处理中语句的功能进行说明。

CREATE PROCEDURE t01()
BEGIN
	DECLARE iAge int;
	DECLARE vAddress VARCHAR(20);
	SET iAge=20;
	SET vAddress='中国山东';
	SELECT iAge, vAddress;
END; 

(2) 通过全局变量获得当前My SQL服务器的版本。

SELECT @@VERSION 当前版本;

(3) 求1~100的偶数和。

CREATE PROCEDURE t03()
BEGIN
SET @i=2,@sum=0;
	WHILE @i<=100 DO
		BEGIN
			SET @sum=@i+@sum;
			SET @i=@i+2;
		END;
	END WHILE;
SELECT @sum;
END;
CALL t03();

(4) 对于字符串“Welcome to My SQL”,进行以下操作。(查阅联机丛书)
① 将字符串转换为全部大写。

SELECT LOWER('Welcome to My SQL');

② 将字符串转换为全部小写。

SELECT UPPER('Welcome to My SQL');

③ 去掉字符串前后的空格。

SELECT TRIM('  Welcome to My SQL  ');

④ 截取从第12个字符开始的10个字符。

SELECT MID('Welcome to My SQL',12,10);

(5) 使用日期型函数,获得输出结果见下表。
输出结果:
年份 月份 日期 星期几
2009 11 18 2

SELECT YEAR('2009-11-18')  年份,MONTH('2009-11-18') 月份,DAY('2009-11-18') 日期,
WEEKDAY('2009-11-18')  星期几;

(6) 根据sc表中的成绩进行处理:成绩大于等于60分的显示“及格”,小于60分的显示“不及格”,为NULL的显示“无成绩”。

SELECT CASE
WHEN degree>=60 THEN '及格'
WHEN degree<60 THEN '及格'
WHEN degree=NULL THEN '无成绩'
END 
AS 成绩,sno
FROM sc

(7) 利用SQL条件语句,在student表中查找“李艳”同学的信息,若找到,则显示该生的学号、姓名、班级名称及班主任,否则显示“查无此人”。

CREATE PROCEDURE t07()
BEGIN
DECLARE ming VARCHAR(20);
SELECT sno into ming FROM student WHERE sname='李艳';
IF (ming is NULL) THEN
BEGIN 
	SELECT '查无此人' AS 查询结果;
END;
ELSE
	SELECT sno,sname,classname,header
	FROM student,class
	WHERE sname='李艳' AND student.classno=class.classno;
END IF;
END;
CALL t07();
  • 17
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值