功能描述
SPLIT函数用于通过指定的分隔符拆分字符串,并返回拆分后的子串集合。
语法格式
SELECT split_to_map(x, delimiter01, delimiter02)
SPLIT函数语句
语句 | 说明 | 示例 | 参数 |
|---|
split | split函数用于通过指定的分隔符拆分字符串,并返回拆分后的子串集合。 | split(x, delimiter,[limit]) | - x:参数值为varchar类型。
- delimiter:分隔符。
- limit:限制字符串拆分的个数,大于0的整数。
|
split_part | split_part函数通过指定的分隔符拆分字符串,并返回指定索引的内容。 | split_part(x, delimiter, part) | - x:参数值为varchar类型。
- delimiter:分隔符。
- part:指定要返回字段的索引值。
|
split_to_map | split_to_map函数用于使用指定的第一个分隔符拆分字符串,然后再使用指定的第二个分隔符进行第二次拆分。 | split_to_map(x, delimiter01, delimiter02) | - x:参数值为varchar类型。
- delimiter01:分隔符1。
- delimiter02:分隔符2。
|
示例及说明
- split函数
将目标字符串按指定字符串分割,limit用于限制分割后的最大单词数,若不填写,则默认全部分割。
- 字段样例
Id:dc1dab7e-b045-4e77-bda4-914d083d1bf7
- 查询和分析语句
SELECT split(Id,'-'), split(Id,'-',2)
- 查询和分析结果
表1 split函数查询和分析结果 EXPR$0 | EXPR$1 |
|---|
["dc1dab7e","b045","4e77","bda4","914d083d1bf7"] | ["dc1dab7e","b045-4e77-bda4-914d083d1bf7"] |
- split_part函数
通过指定的分隔符拆分字符串,并返回指定索引的内容字段样例,索引下标从0开始。若索引下标超过分割数量或者为负数,则返回空字符串。
- 字段样例
Id: dc1dab7e-b045-4e77-bda4-914d083d1bf7
- 查询和分析语句
SELECT split_part(Id,'-',1)
- 查询和分析结果
表2 split_part函数查询和分析结果 EXPR$0 |
|---|
b045 |
- split_to_map函数
用于使用指定的第一个分隔符拆分字符串,然后再使用指定的第二个分隔符进行第二次拆分,展示形式为{“KEY1”:”VALUE1”,”KEY2”:”VALUE2”}。无法被二次分割的value值为空。
- 字段样例
Request:request_id:"e3ac4b70c7d244f080d434e300d8065a";request_time: "1674965051000"
- 查询和分析语句
SELECT split_to_map(Request,';',':')
- 查询和分析结果
表3 split_to_map函数查询和分析结果 EXPR$0 |
|---|
{"request_id ":"e3ac4b70c7d244f080d434e300d8065a","request_time":"1674965051000"} |