

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

DECODE 函數是 ENCODE 函數的複本，用於使用特定字元編碼將字串轉換為二進位格式。DECODE 函數會取得二進位資料，並使用指定的字元編碼將其轉換回可讀取的字串格式。

當您需要使用存放在資料庫中的二進位資料，並且需要以人類可讀的格式呈現，或者您需要在不同字元編碼之間轉換資料時，此函數非常有用。

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

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

## 引數
<a name="DECODE-arguments"></a>

 *expr*   
以字元集編碼的 BINARY 表達式。

 *字元集*   
STRING 表達式。  
支援的字元集編碼 （不區分大小寫）：`'US-ASCII'`、`'ISO-8859-1'`、`'UTF-8'``'UTF-16BE'`、、 `'UTF-16LE'`和 `'UTF-16'`。

## 傳回類型
<a name="DECODE-return-type"></a>

DECODE 函數會傳回 STRING。

## 範例
<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;
```