

 从补丁 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/)。

# LN 函数
<a name="r_LN"></a>

返回输入参数的自然对数。

[DLOG1 函数](r_DLOG1.md)的同义词。

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

```
LN(expression)
```

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

 *expression*   
对其执行函数的目标列或表达式。  
如果表达式引用了 Amazon Redshift 用户创建的表或者引用了 Amazon Redshift STL 或 STV 系统表，此函数将对某些数据类型返回错误。
具有以下数据类型的表达式在引用了用户创建的表或系统表时将产生错误。具有这些数据类型的表达式专用于在领导节点上运行：  
+ `BOOLEAN` 
+ `CHAR` 
+ `DATE` 
+ `DECIMAL` 或 `NUMERIC` 
+ `TIMESTAMP` 
+ `VARCHAR` 
具有以下数据类型的表达式可在用户创建的表以及 STL 或 STV 系统表上成功运行：  
+ `BIGINT` 
+ `DOUBLE PRECISION` 
+ `INTEGER` 
+ `REAL` 
+ `SMALLINT` 

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

LN 函数返回与输入 *expression* 相同的类型。

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

要返回数值 2.718281828 的自然对数或以 `e` 为底的对数，请使用以下示例。

```
SELECT LN(2.718281828);

+--------------------+
|         ln         |
+--------------------+
| 0.9999999998311267 |
+--------------------+
```

请注意，结果约等于 1。

以下示例使用 TICKIT 示例数据库。有关更多信息，请参阅 [示例数据库](c_sampledb.md)。

要返回 USERS 表 userid 列中的值的自然对数，请使用以下示例。

```
SELECT username, LN(userid) FROM users ORDER BY userid LIMIT 10;

+----------+--------------------+
| username |         ln         |
+----------+--------------------+
| JSG99FHE |                  0 |
| PGL08LJI | 0.6931471805599453 |
| IFT66TXU | 1.0986122886681098 |
| XDZ38RDD | 1.3862943611198906 |
| AEB55QTM | 1.6094379124341003 |
| NDQ15VBM |  1.791759469228055 |
| OWY35QYB | 1.9459101490553132 |
| AZG78YIP | 2.0794415416798357 |
| MSD36KVR | 2.1972245773362196 |
| WKW41AIW |  2.302585092994046 |
+----------+--------------------+
```