Bir dizeyi split1 çift ayırıcısı ve split2 anahtar-değer ayırıcısı kullanarak anahtar-değer çiftlerine böler ve belirtilen anahtarın değerini döndürür.
Sınırlamalar
Yalnızca Ververica Runtime (VVR) 3.0.0 veya sonraki sürümleri kullanan Realtime Compute for Apache Flink ortamlarında desteklenir.
Söz dizimi
VARCHAR KEYVALUE(VARCHAR str, VARCHAR split1, VARCHAR split2, VARCHAR key_name)
Parametreler
| Parametre | Veri türü | Açıklama |
| str | VARCHAR | Bölünecek dize. |
| split1 | VARCHAR | str dizesini anahtar-değer çiftlerine ayıran ayırıcı. |
| split2 | VARCHAR | Her anahtar-değer çiftini anahtara ve değere ayıran ayırıcı. |
| key_name | VARCHAR | Değeri döndürülecek anahtar. |
Not
İşlev aşağıdaki durumlarda NULL döndürür:
split1veyasplit2NULL ise.strveyakey_nameNULL ise.Eşleşen anahtar bulunamazsa.
Birden fazla anahtar-değer çifti aynı anahtarı içeriyorsa ilk eşleşen çiftin değeri döndürülür.
Örnek
-
Test verileri (T1 tablosu)
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 ifadesi
SELECT KEYVALUE(str, split1, split2, key1) AS `result` FROM T1; -
Test sonucu
result (VARCHAR) v2 NULL NULL NULL NULL