

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# LOG 函数
<a name="r_LOG"></a>

返回数值的对数。

如果您使用这个函数来计算以 10 为底的对数，则也可以使用 [DLOG10 函数](r_DLOG10.md)。

## 语法
<a name="r_LOG-synopsis"></a>

```
LOG([base, ]argument)
```

## 参数
<a name="r_LOG-argument"></a>

 *base*   
（可选）对数函数的底。此数值必须为正数且不能等于 `1`。如果省略此参数，Amazon Redshift 将计算 *argument* 的以 10 为底的对数。

 *argument*   
对数函数的参数。此数值必须为正数。如果 *argument* 值为 `1`，则函数返回 `0`。

## 返回类型
<a name="r_LOG-return-type"></a>

LOG 函数返回 `DOUBLE PRECISION` 数值。

## 示例
<a name="r_LOG-example"></a>

要查找 100 的以 2 为底的对数，请使用以下示例。

```
SELECT LOG(2, 100);
+-------------------+
|        log        |
+-------------------+
| 6.643856189774725 |
+-------------------+
```

要查找 100 的以 10 为底的对数，请使用以下示例。请注意，如果您省略底参数，则 Amazon Redshift 假设底为 10。

```
SELECT LOG(100);
            
+-----+
| log |
+-----+
|   2 |
+-----+
```