This topic describes how to use the KEYVALUE function. This function splits a string into key-value pairs based on the split1 delimiter, and splits the key-value pairs based on the split2 delimiter. The value that corresponds to the key is returned.

Limits

This function is supported only in Realtime Compute for Apache Flink that uses Ververica Runtime (VVR) 3.0.0 or later.

Syntax

VARCHAR KEYVALUE(VARCHAR str, VARCHAR split1, VARCHAR split2, VARCHAR key_name)      

Input parameters

Parameter Data type Description
str VARCHAR The string that you want to split.
split1 VARCHAR The split1 delimiter that splits the specified string into key-value pairs.
split2 VARCHAR The split2 delimiter that splits the key-value pairs.
key_name VARCHAR The name of the key.
Note
  • If the split1 or split2 parameter is NULL, NULL is returned.
  • If the str or key_name parameter is NULL, NULL is returned.
  • If no key is found, NULL is returned.
  • If multiple key-value pairs exist, the value that first matches the key is returned.

Example

  • Test data
    Table 1. T1
    str(VARCHAR) split1(VARCHAR) split2(VARCHAR) key1(VARCHAR)
    k1=v1;k2=v2 ; = k2
    NULL ; | :
    k1:v1|k2:v2 NULL = :
    k1:v1|k2:v2 | = NULL
    k1:v1|k2:v2 | = :
  • Test statement
    SELECT  KEYVALUE(str, split1, split2, key1) as `result`
    FROM T1;         
  • Test result
    result(VARCHAR)
    v2
    NULL
    NULL
    NULL
    NULL