keyvalue
keyvalue函数用于计算将字符串str按照split1进行切分,并按split2将每组变成Key-Value对,返回key所对应的Value。
命令格式
keyvalue(string <str>,[string <split1>,string <split2>,] string <key>)
参数说明
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
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");