文档详情

数据库技术项目式教程(MySQL)课件 任务8.1使用函数.pptx

发布:2025-05-06约1.03千字共20页下载文档
文本预览下载声明

使用函数;任务提出;任务分析;(1)数学函数;(2)字符串函数;(2)字符串函数;(3)日期和时间函数;(3)日期和时间函数;(4)控制流程函数;【例1】在School数据库中查询出所有学生学号、学生姓名、课程编号、课程名称、期末成绩,要求期末成绩显示为五级制。

SELECTStudent.Sno,Sname,Course.Cno,Cname,

(CASEWHENEndscore=90THEN优秀

WHENEndscore=80THEN良好

WHENEndscore=70THEN中等

WHENEndscore=60THEN及格

WHENEndscore60THEN‘不及格

END)AS成绩

FROMStudentJOINScoreONStudent.Sno=Score.Sno

JOINCourseONCourse.Cno=Score.Cno;;【例2】CASE的独到用处——行转列功能。

统计每个班级男生人数和女生人数。

;【例2】统计每个班级男生人数和女生人数。

SELECTClassNo,SUM(CASEsexWHEN男THEN1ELSE0END)AS男生人数,SUM(CASEsexWHEN女THEN1ELSE0END)AS女生人数

FROMStudent

GROUPBYClassNo;

;(5)其他常用函数;2.用户自定义函数;(1)创建函数;DELIMITER语句;【例3】在School数据库中创建函数calculate_age,根据输入的出生日期计算年龄。

DELIMITER//

CREATEFUNCTIONcalculate_age(birthdate)RETURNSINT

BEGIN

RETURNTIMESTAMPDIFF(YEAR,birth,CURDATE());

END;

//

DELIMITER;

#使用该函数查询出所有学生的学号、姓名和年龄。

SELECTSno,Sname,calculate_age(birth)asage

FROMStudent;;(2)管理函数;【练习1】创建函数rand_num,根据输入的整数n,返回一个1至n之间的随机整数。;任务总结

显示全部
相似文档