While循环SQL Server

请帮帮我。我需要编写两个函数,一个函数计算阶乘,另一个函数计算欧拉和。

要计算出欧拉总和,我需要使用计算工厂的函数。 我已经具有阶乘的功能,但是在求和时,结果为“ NULL”

注意:这需要通过“ while”循环完成

e = 1 + (1/1!) + (1/2!) + (1/3!) + (1/n!)

我的代码:

CREATE FUNCTION Factorial (@a INT)
RETURNS INT 
AS
BEGIN
    DeclARE @i INT

    IF @a <= 1
        SET @i =1 
    ELSE
        SET @i = @a * dbo.Factorial(@a-1)

    RETURN @i
END

SELECT dbo.Factorial(11) 'factorial'

CREATE FUNCTION Sum_Euler(@a FLOAT)
RETURNS FLOAT
BEGIN 
    DeclARE @b FLOAT,@c FLOAT;

    SET @c = (SELECT dbo.Factorial(@a))

    WHILE(@b <= @c)
    BEGIN
        SET @b = 1 / @a * @c
    END 

    SET @b = @b + 1

    RETURN @b
END
GO

SELECT dbo.Sum_Euler(10)
yingzi_06 回答:While循环SQL Server

我将对您的第二个功能进行以下更改

cshtml

@Html.DropDownList("Name",(IEnumerable<SelectListItem>)ViewBag.list) 将返回create FUNCTION dbo.Sum_Euler(@a int) RETURNS float BEGIN DECLARE @b float; if @a<=1 set @b =1.0+1.0; else begin set @b = dbo.Sum_Euler(@a-1) + 1.0/dbo.Factorial(@a); end RETURN @b; END GO

本文链接:https://www.f2er.com/3162770.html

大家都在问