

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

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

UNHEX 函數會將十六進位字串轉換回其原始字串表示法。

此函數在您需要使用以十六進位格式存放或傳輸的資料，且需要還原原始字串表示以進行進一步處理或顯示的情況下非常有用。

UNHEX 函數是 [HEX 函數](HEX.md)的複本。

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

```
unhex(expr)
```

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

 *expr*   
十六進位字元的 STRING 表達式。

## 傳回類型
<a name="UNHEX-returns"></a>

UNHEX 傳回 BINARY。

如果 *expr* 的長度是奇數，則會捨棄第一個字元，並將結果填入 null 位元組。如果 *expr* 包含非十六進位字元，則結果為 NULL。

## 範例
<a name="UNHEX-example"></a>

下列範例使用 UNHEX() 和 DECODE() 函數，將十六進位字串轉換回其原始字串表示法。查詢的第一部分使用 UNHEX() 函數，將十六進位字串 '537061726B2053514C' 轉換為其二進位表示法。查詢的第二部分使用 DECODE() 函數，使用 'UTF-8' 字元編碼，將從 UNHEX() 函數取得的二進位資料轉換為字串。查詢的輸出是原始字串 'Spark\$1SQL'，已轉換為十六進位，然後傳回字串。

```
SELECT decode(unhex('537061726B2053514C'), 'UTF-8');
 Spark SQL
```