

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

# STR\_TO\_MAP 函數
<a name="STR_TO_MAP"></a>

STR\_TO\_MAP 函數是string-to-map轉換函數。它會將映射的字串表示法 （或字典） 轉換為實際的映射資料結構。

當您需要在 SQL 中使用映射資料結構，但資料最初儲存為字串時，此函數很有用。透過將字串表示法轉換為實際映射，您就可以對映射資料執行操作和操作。

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

```
str_to_map(text[, pairDelim[, keyValueDelim]])
```

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

 *文字*   
代表映射的 STRING 表達式。

 *pairDelim*   
選用 STRING 常值，指定如何分隔項目。預設為逗號 (`','`)。

 *keyValueDelim*   
選用 STRING 常值，指定如何分隔每個鍵值對。預設為冒號 (`':'`)。

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

STR\_TO\_MAP 函數會針對索引鍵和值傳回 STRING 的 MAP。*pairDelim* 和 *keyValueDelim* 都視為規則表達式。

## 範例
<a name="STR_TO_MAP-examples"></a>

下列範例採用輸入字串和兩個分隔符號引數，並將字串表示法轉換為實際的映射資料結構。在此特定範例中，輸入字串`'a:1,b:2,c:3'`代表具有下列索引鍵/值對的映射： `'a'` 是索引鍵， `'1'` 是值。 `'b'` 是索引鍵， `'2'` 是值。 `'c'` 是索引鍵， 是值， `'3'`是值。`','` 分隔符號用於分隔索引鍵/值對，而`':'`分隔符號用於分隔每一對中的索引鍵和值。此查詢的輸出為：`{"a":"1","b":"2","c":"3"}`。這是產生的映射資料結構，其中索引鍵為 `'a'`、 `'b'`和 `'c'`，對應值為 `'2'`、 `'1'`和 `'3'`。

```
SELECT str_to_map('a:1,b:2,c:3', ',', ':');
 {"a":"1","b":"2","c":"3"}
```

下列範例示範 STR\_TO\_MAP 函數預期輸入字串為特定格式，並正確分隔索引鍵/值對。如果輸入字串不符合預期的格式，函數仍會嘗試建立映射，但產生的值可能不如預期。

```
SELECT str_to_map('a');
 {"a":null}
```