

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# DECODE 函数
<a name="DECODE"></a>

DECODE 函数与 ENCODE 函数相对应，后者用于使用特定的字符编码将字符串转换为二进制格式。DECODE 函数获取二进制数据，并使用指定的字符编码将其转换回可读的字符串格式。

当您需要处理存储在数据库中的二进制数据并需要将其以人类可读的格式呈现，或者需要在不同的字符编码之间转换数据时，此函数非常有用。

## 语法
<a name="DECODE-syntax"></a>

```
decode(expr, charset)
```

## Arguments
<a name="DECODE-arguments"></a>

 *expr*   
用字符集编码的二进制表达式。

 *字符集*   
一个字符串表达式。  
支持的字符集编码（不区分大小写）：`'US-ASCII'`、、`'ISO-8859-1'`、`'UTF-8'``'UTF-16BE'`、`'UTF-16LE'`和。`'UTF-16'`

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

DECODE 函数返回一个字符串。

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

以下示例有一个名为的表，`messages`其中有一个名为的列`message_text`，该列使用 UTF-8 字符编码以二进制格式存储消息数据。DECODE 函数将二进制数据转换回可读的字符串格式。此查询的输出是存储在消息表中的消息的可读文本，其中带有 ID`123`，使用`'utf-8'`编码从二进制格式转换为字符串。

```
SELECT decode(message_text, 'utf-8') AS message
FROM messages
WHERE message_id = 123;
```