全部產品
Search
文件中心

Realtime Compute for Apache Flink:KEYVALUE

更新時間:Jul 13, 2024

本文為您介紹如何使用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)      

入參

參數資料類型說明
strVARCHAR待拆分的目標字串。
split1VARCHAR按照split1分隔字元,將目標字串拆分成Key-Value(KV)對。
split2VARCHAR按照split2分隔字元將Key-Value對分開。
key_nameVARCHARKey的名稱。
說明
  • 如果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:v2NULL=:
    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