
# factorial
factorial函数用于返回a的阶乘。
#### 命令格式
```
factorial(INT a)
```
#### 参数说明
表1参数说明 
| 参数 | 是否必选 | 参数类型                           | 说明                                                                                                                                                                                                |
|:---|:---|:---|:---|
| a  | 是    | BIGINT、INT、SMALLINT、TINYINT类型。 | 参数a的格式为整数格式。 参数a非INT类型时，会隐式转换为INT类型后参与运算。 字符串会转为对应的ASCII码。 |
   
#### 返回值说明
返回BIGINT类型。
![](https://support.huaweicloud.com/sqlref-spark-dli/public_sys-resources/note_3.0-zh-cn.png)
- a值为0时，返回1。
- a值为NULL或\[0,20\]之外的值，返回NULL。
 
#### 示例代码
返回720。
```
select factorial(6);
```
返回1。
```
select factorial(1);
```
返回120。
```
select factorial(5.123456);
```
返回NULL。
```
select factorial(null);
```
返回NULL。
```
select factorial(21);
```
