更新时间:2024-09-19 GMT+08:00

SQL SPLIT函数

功能描述

SPLIT函数用于通过指定的分隔符拆分字符串,并返回拆分后的子串集合。

语法格式

SELECT split_to_map(x, delimiter01, delimiter02)

SPLIT函数语句

语句

说明

示例

参数

split

split函数用于通过指定的分隔符拆分字符串,并返回拆分后的子串集合。

split(x, delimeter,[limit])

  • x:参数值为varchar类型。
  • delimeter:分隔符。
  • limit:限制字符串拆分的个数,大于0的整数。

split_part

split_part函数通过指定的分隔符拆分字符串,并返回指定索引的内容。

split_part(x, delimeter, part)

  • x:参数值为varchar类型。
  • delimeter:分隔符。
  • part:指定要返回字段的索引值。

split_to_map

split_to_map函数用于使用指定的第一个分隔符拆分字符串,然后再使用指定的第二个分隔符进行第二次拆分。

split_to_map(x, delimiter01, delimiter02)

  • x:参数值为varchar类型。
  • delimeter01:分隔符1。
  • delimeter02:分隔符2。

示例及说明

  • split函数

    将目标字符串按指定字符串分割,limit用于限制分割后的最大单词数,若不填写,则默认全部分割。

    1. 字段样例

      Id:dc1dab7e-b045-4e77-bda4-914d083d1bf7

    2. 查询和分析语句
      SELECT split(Id,'-'), split(Id,'-',2)
    3. 查询和分析结果
      表1 split函数查询和分析结果

      EXPR$0

      EXPR$1

      ["dc1dab7e","b045","4e77","bda4","914d083d1bf7"]

      ["dc1dab7e","b045-4e77-bda4-914d083d1bf7"]

  • split_part函数

    通过指定的分隔符拆分字符串,并返回指定索引的内容字段样例,索引下标从0开始。若索引下标超过分割数量或者为负数,则返回空字符串。

    1. 字段样例

      Id: dc1dab7e-b045-4e77-bda4-914d083d1bf7

    2. 查询和分析语句
      SELECT split_part(Id,'-',1)
    3. 查询和分析结果
      表2 split_part函数查询和分析结果

      EXPR$0

      b045

  • split_to_map函数

    用于使用指定的第一个分隔符拆分字符串,然后再使用指定的第二个分隔符进行第二次拆分,展示形式为{“KEY1”:”VALUE1”,”KEY2”:”VALUE2”}无法被二次分割的value值为空。

    1. 字段样例

      Request:request_id:"e3ac4b70c7d244f080d434e300d8065a”;request_time: "1674965051000”

    2. 查询和分析语句
      SELECT split_to_map(Request,';',':')
    3. 查询和分析结果
      表3 split_to_map函数查询和分析结果

      EXPR$0

      {"request_id ":"e3ac4b70c7d244f080d434e300d8065a ","request_time":"1674965051000"}