Divide uma string em pares de chave-valor usando split1 como delimitador de par e split2 como delimitador entre chave e valor, e retorna o valor correspondente à chave especificada.
Limitações
Compatível apenas com o Realtime Compute for Apache Flink que usa Ververica Runtime (VVR) 3.0.0 ou posterior.
Sintaxe
VARCHAR KEYVALUE(VARCHAR str, VARCHAR split1, VARCHAR split2, VARCHAR key_name)
Parâmetros
|
Parâmetro |
Tipo de dado |
Descrição |
|
str |
VARCHAR |
String a dividir. |
|
split1 |
VARCHAR |
Delimitador que separa str em pares de chave-valor. |
|
split2 |
VARCHAR |
Delimitador que separa cada par de chave-valor em chave e valor. |
|
key_name |
VARCHAR |
Chave cujo valor será retornado. |
A função retorna
NULL
nos seguintes casos:
split1 ou split2 é NULL.
str ou key_name é NULL.
Nenhuma chave correspondente encontrada.
Se vários pares de chave-valor compartilharem a mesma chave, a função retornará o valor do primeiro par correspondente.
Exemplo
-
Dados de teste (tabela 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
=
:
-
Instrução de teste
SELECT KEYVALUE(str, split1, split2, key1) AS `result` FROM T1; -
Resultado do teste
result (VARCHAR)
v2
NULL
NULL
NULL
NULL