实验八
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教学过程及内容
实验八系统函数和自定义函数
一、实验内容:
1)创建一个返回标量值的用户定义函数RectangleArea:输入矩形的长和宽就能计算矩形的面积。自选2种实例调用该函数。
2)简单年、月、日函数
3)从系统当前日期中返回系统当前的年份数、月份数和天数。
4)自己编写函数。编写一个函数,名称为“函数_学生选课数”,要求根据输入的学生学号,求此学生的选课数。
二、实验指导:
1)创建一个返回标量值的用户定义函数RectangleArea:输入矩形的长和宽就能计算矩形的面积。自选2种实例调用该函数。
create function RectangleArea(@a int,@b int) returns int
as
begin
return @a*@b
end
declare @area int
execute @area=RectangleArea 3,5
print ('矩形面积是:')
print @area
2)简单年、月、日函数
SELECT MONTH('03/12/1998'), DAY('03/12/1998'),YEAR('03/12/1998')
3)从系统当前日期中返回系统当前的年份数、月份数和天数。
-- GETDATE()函数返回系统当前日期
SELECT YEAR(GETDATE()) AS 当前年份,
MONTH(GETDATE()) AS 当前月份,
DAY(GETDATE()) AS 当前天数
GO
4)自己编写函数。编写一个函数,名称为“函数_学生选课数”,要求根据输入的学生学号,求此学生的选课数。
USE school
GO
--通过CREATE FUNCTION语句创建用户的自定义函数“函数_学生选
课数”
CREATE FUNCTION 函数_学生选课数
(
@xuehao AS char(9) --函数的输入参数
)
RETURNS int --返回结果类型
BEGIN --函数体
DECLARE @选课数AS int
SELECT @选课数=COUNT(cno) FROM SC WHERE Sno=@xuehao
RETURN @选课数
END
GO
--使用自定义函数,求选课表(SC)中每位学生的选课数SELECT DISTINCT
Student.Sno,Sname,选课数=dbo. 函数_学生选课数(SC.Sno) FROM Student,SC
WHERE Student .Sno=SC.Sno
GO