小编Zec*_*iah的帖子

Microsoft SQL Server 创建内联函数

我对 SQL 完全陌生,我必须编写一个用户定义的函数 (UDF) 来计算给定时间范围内学生的 GPA。这些输入StudentId intClassStartDateStart datetime以及ClassStartDateEnd datetime。其中输出应该是学生在ClassStartDateStart 和之间参加的所有课程的 GPA ClassStartDateEnd。此外,提供调用此新函数的脚本,将您选择的参数值传递给它。我尝试创建一个代码,但不知道从哪里开始。这是我到目前为止所拥有的:

USE [Master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION GPAofStudents 
  (StudentID int, 
   ClassStartDateStart datetime, 
   ClassStartDateEnd datetime)
  RETURNS decimal(3,2) 
  AS
BEGIN 
DECLARE AvgGPA decimal(5,2); 
SET AvgGPA = (SELECT AVG(Class_GPA)
FROM Students_Classes 
  WHERE Student_ID = StudentID 
    AND Start_Date > ClassStartDateStart 
    AND Start_Date <= ClassStartDateEnd 
    AND Class_GPA > 0; 
    RETURN AvgGPA; 
END;
Run Code Online (Sandbox Code Playgroud)

我给学生的桌子是这样的:

CREATE TABLE [dbo].[Students_Classes](
    [Student_Class_ID] [int] …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql functions

5
推荐指数
1
解决办法
4387
查看次数

标签 统计

functions ×1

sql-server ×1

t-sql ×1