创建具有 3 个参数的函数 - beginningyear、endingyear 和 month

Create function with 3 parameters - beginningyear, endingyear and month

函数然后计算 returns 总销售额 对于请求年份的请求月份。如果有 在请求的时间段内没有销售,returns 0

我试过这个功能,但我不明白下一步该做什么。

我不认为,逻辑是正确的。

  CREATE Function sales
     (@BeginningYear int, @EndingYear int, @Month int)
    RETURNS @DateList TABLE (StartDate int, EndDate int, Month int,TotalSales int)
    AS BEGIN
    DECLARE @SUM int = 0
    SELECT SUM(TotalDue) From Sales.SalesOrderHeader
    Where CAST(ORDERDATE as month) = @Month AND CAST(ORDERDATE as year) = @BeginningYear
    AND CAST(ORDERDATE as year)= @EndingYear
    Group by OrderDate
    RETURN;
    END

尝试以下操作:

CREATE Function sales
     (@BeginningYear int, @EndingYear int, @Month int)
    RETURNS Numeric (12,4)
    AS BEGIN
    DECLARE @SUM Numeric (12,4) = 0
    SELECT @SUM = SUM(TotalDue) From Sales.SalesOrderHeader
    Where CAST(ORDERDATE as month) = @Month AND CAST(ORDERDATE as year) Between @BeginningYear
    AND @EndingYear
    RETURN @SUM;
    END