Divise une chaîne en paires clé-valeur à l'aide de split1 comme séparateur de paires et de split2 comme séparateur clé-valeur, puis renvoie la valeur associée à la clé spécifiée.
Limites
Fonction prise en charge uniquement dans Realtime Compute for Apache Flink avec Ververica Runtime (VVR) 3.0.0 ou version ultérieure.
Syntaxe
VARCHAR KEYVALUE(VARCHAR str, VARCHAR split1, VARCHAR split2, VARCHAR key_name)
Paramètres
| Paramètre | Type de données | Description |
| str | VARCHAR | Chaîne à diviser. |
| split1 | VARCHAR | Délimiteur servant à séparer la chaîne str en paires clé-valeur. |
| split2 | VARCHAR | Délimiteur servant à séparer chaque paire clé-valeur en une clé et une valeur. |
| key_name | VARCHAR | Clé dont la valeur est renvoyée. |
Remarque
La fonction renvoie
NULL
dans les cas suivants :
split1ousplit2est NULL.stroukey_nameest NULL.Aucune clé correspondante n'est trouvée.
Si plusieurs paires clé-valeur partagent la même clé, la fonction renvoie la valeur de la première paire correspondante.
Exemple
-
Données de test (table 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 | = : -
Instruction de test
SELECT KEYVALUE(str, split1, split2, key1) AS `result` FROM T1; -
Résultat du test
result (VARCHAR) v2 NULL NULL NULL NULL