SQL Func factorial
Func factorial
CREATE FUNCTION fn_factorial (@param decimal(38, 0) )
RETURNS decimal(38, 0)
AS
BEGIN
IF (@param < 0 OR @param > 32) RETURN (0)
RETURN (CASE
WHEN @param > 1 THEN @param * dbo.fn_factorial(@param - 1)
ELSE 1
END)
END
GO
SELECT factorial = dbo.fn_factorial(10)
GO