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");