本文為您介紹如何使用KEYVALUE函數,將目標字串按照split1分隔字元拆分成Key-Value(KV)對,然後按照split2分隔字元將Key-Value對分開,返回Key對應的Value。
使用限制
僅Realtime Compute引擎VVR 3.0.0及以上版本支援KEYVALUE函數。
文法
VARCHAR KEYVALUE(VARCHAR str, VARCHAR split1, VARCHAR split2, VARCHAR key_name)
入參
參數 | 資料類型 | 說明 |
str | VARCHAR | 待拆分的目標字串。 |
split1 | VARCHAR | 按照split1分隔字元,將目標字串拆分成Key-Value(KV)對。 |
split2 | VARCHAR | 按照split2分隔字元將Key-Value對分開。 |
key_name | VARCHAR | Key的名稱。 |
說明
- 如果split1或split2為NULL時,則返回NULL。
- 如果str或者key_name為NULL時,則返回NULL。
- 如果沒有匹配的Key時,則返回NULL。
- 如果有多個key-value匹配,返回第一個匹配上的Key對應的Value。
樣本
- 測試資料
表 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 | = : - 測試語句
SELECT KEYVALUE(str, split1, split2, key1) as `result` FROM T1;
- 測試結果
result(VARCHAR) v2 NULL NULL NULL NULL