SQL Server使用自定義函數計算數字的階乘

本文主要使用SQL Server的自定义函数功能,实现一个计算给定数字的阶乘的函数。

       本文主要使用SQL Server的自定义函数功能,实现一个计算给定数字的阶乘的函数。阶乘是所有小于或等于该数的正整数的积,自然数n的阶乘写作n!,即n!=1×2×3×...×n。
 

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

-- 计算输入参数的阶乘
CREATE FUNCTION [dbo].[Factorial](@num INT)
RETURNS BIGINT
AS
BEGIN 
 DECLARE @Result BIGINT;
 DECLARE @i INT;

 SELECT @Result = 1; 
 SELECT @i = 1;
 IF (@num < 1)
 BEGIN
  -- 如果输入的参数小于1返回1  
  SELECT @Result = 1
 END
 ELSE
 BEGIN
  -- 循环计算阶乘 
  WHILE (@i <= @num)
  BEGIN
   SELECT @Result = @Result * @i;
   SELECT @i = @i + 1;
  END
 END
 -- 返回结果
 RETURN @Result;
END

SQL Code 文档 Factorial.sql.zip


為了你的幸福,我一直在努力!