

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 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]])
```

## Arguments
<a name="STR_TO_MAP-arguments"></a>

 *文本*   
表示地图的字符串表达式。

 *PairDelim*   
一个可选的 STRING 文字，用于指定如何分隔条目。默认为逗号 (`','`)。

 *keyValueDelim*   
一个可选的 STRING 文字，用于指定如何分隔每个键值对。它默认为冒号 (`':'`)。

## 返回类型
<a name="STR_TO_MAP-returns"></a>

STR\_TO\_MAP 函数返回键和值的字符串映射。*pairDelim* 和 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'`、和，对应的值是`'1'``'2'`、和`'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}
```