

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

# EXPLODE 函數
<a name="explode"></a>

EXPLODE 函數用於將具有陣列或映射資料欄的單一資料列轉換為多個資料列，其中每個資料列對應至陣列或映射中的單一元素。

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

```
explode(expr)
```

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

 *expr*  
陣列表達式或映射表達式。

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

EXPLODE 函數會傳回一組資料列，其中每一列代表輸入陣列或映射中的單一元素。

輸出列的資料類型取決於輸入陣列或映射中元素的資料類型。

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

下列範例採用單列陣列 【10、20】，並將其轉換為兩個不同的列，每個列都包含其中一個陣列元素 (10 和 20)。

```
SELECT explode(array(10, 20));
```

在第一個範例中，輸入陣列直接做為引數傳遞給 `explode()`。在此範例中，使用語法指定輸入陣列，其中明確提供資料欄名稱 `=>` (`collection`)。

```
SELECT explode(array(10, 20));
```

這兩種方法都是有效的，並達到相同的結果，但當您需要從較大的資料集分解資料欄時，第二個語法會更有用，而不只是簡單的陣列常值。