本文主要使用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