更新时间:2023-10-25 GMT+08:00

keyvalue

keyvalue函数用于计算将字符串str按照split1进行切分,并按split2将每组变成Key-Value对,返回key所对应的Value。

命令格式

keyvalue(string <str>,[string <split1>,string <split2>,] string <key>)

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

str

STRING

待拆分的字符串。

split1、split2

STRING

用于作为分隔符的字符串,按照指定的两个分隔符拆分源字符串。如果表达式中没有指定这两项,默认split1为";",split2为":"。当某个被split1拆分后的字符串中有多个split2时,返回结果未定义。

key

BIGINT

将字符串按照split1和split2拆分后,返回key值对应的Value。

返回值说明

返回STRING类型。

  • split1或split2值为NULL时,返回NULL。
  • str或key值为NULL或没有匹配的key时,返回NULL。
  • 如果有多个Key-Value匹配,返回第一个匹配上的key对应的Value。

示例代码

返回2。

select keyvalue('a:1;b:2', 'b');

返回2。

select keyvalue("\;abc:1\;def:2","\;",":","def");