

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

# SPLIT 函數
<a name="split"></a>

SPLIT 函數可讓您從較大的字串擷取子字串，並將其用作陣列。當您需要根據特定分隔符號或模式將字串分解為個別元件時，SPLIT 函數非常有用。

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

```
split(str, regex, limit)
```

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

 *str*  
要分割的字串運算式。

 *regex*  
代表規則表達式的字串。*regex* 字串應該是 Java 規則表達式。

 *limit*  
整數表達式，可控制套用 *regex* 的次數。  
+ 限制 > 0：產生的陣列長度不會超過限制，且產生的陣列最後一個項目將包含超過最後一個相符 *regex* 的所有輸入。
+ limit <= 0：*regex* 將盡可能套用多次，且產生的陣列可以是任何大小。

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

SPLIT 函數會傳回 ARRAY<STRING>。

如果 `limit > 0`：產生的陣列長度不會超過限制，且產生的陣列最後一個項目將包含超過最後一個相符 regex 的所有輸入。

如果 `limit <= 0`：regex 將盡可能套用多次，而產生的陣列可以是任何大小。

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

在此範例中，SPLIT 函數會在遇到字元 `'A'`、 `'B'`或 `'C'`（如規則表達式模式 所指定） `'oneAtwoBthreeC'`時分割輸入字串`'[ABC]'`。產生的輸出是四個元素的陣列：`"one"`、`"three"`、 `"two"`和空字串 `""`。

```
SELECT split('oneAtwoBthreeC', '[ABC]');
 ["one","two","three",""]
```