MySQL怎么求阶乘
时间 : 2023-08-02 23:23:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在MySQL中,可以使用循环和递归的方式来求阶乘。下面分别介绍这两种方法的实现。

1. 循环方法:

```sql

DELIMITER //

CREATE FUNCTION factorial(n INT)

RETURNS INT

BEGIN

DECLARE result INT DEFAULT 1;

DECLARE i INT DEFAULT 1;

WHILE i <= n DO

SET result = result * i;

SET i = i + 1;

END WHILE;

RETURN result;

END //

DELIMITER ;

上述代码中定义了一个函数`factorial`,接受一个整数参数`n`,并返回`n`的阶乘。在函数中,使用了一个循环,从1到`n`依次累乘,最后返回结果。

使用示例:

```sql

SELECT factorial(5); -- 输出120

2. 递归方法:

```sql

DELIMITER //

CREATE FUNCTION factorial(n INT)

RETURNS INT

BEGIN

IF n = 0 THEN

RETURN 1;

ELSE

RETURN n * factorial(n-1);

END IF;

END //

DELIMITER ;

上述代码同样定义了一个函数`factorial`,通过递归的方式求阶乘。当`n`为0时,阶乘为1;否则,返回`n`乘以`n-1`的阶乘。

使用示例:

```sql

SELECT factorial(5); -- 输出120

以上是在MySQL中求阶乘的两种方法的实现。根据实际情况选择使用循环或递归方法来满足需求。