Divide una cadena en pares clave-valor mediante split1 como delimitador de pares y split2 como delimitador entre clave y valor, y devuelve el valor correspondiente a la clave especificada.
Limitaciones
Solo es compatible con Realtime Compute for Apache Flink que usa Ververica Runtime (VVR) 3.0.0 o versiones posteriores.
Sintaxis
VARCHAR KEYVALUE(VARCHAR str, VARCHAR split1, VARCHAR split2, VARCHAR key_name)
Parámetros
|
Parámetro |
Tipo de dato |
Descripción |
|
str |
VARCHAR |
Cadena que se va a dividir. |
|
split1 |
VARCHAR |
Delimitador que divide str en pares clave-valor. |
|
split2 |
VARCHAR |
Delimitador que separa cada par clave-valor en una clave y un valor. |
|
key_name |
VARCHAR |
Clave cuyo valor se debe devolver. |
La función devuelve
NULL
en los siguientes casos:
split1orsplit2isNULL.
strorkey_nameisNULL.
No se encuentra ninguna clave coincidente.
Si varios pares clave-valor comparten la misma clave, se devuelve el valor del primer par coincidente.
Ejemplo
-
Datos de prueba (tabla 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
=
:
-
Instrucción de prueba
SELECT KEYVALUE(str, split1, split2, key1) AS `result` FROM T1; -
Resultado de la prueba
result (VARCHAR)
v2
NULL
NULL
NULL
NULL